простой пример – но как доделать???

Подскажите как сделать чтобы моя функция отрабатывалась только один раз – когда создался пост.
И чтобы она не отрабатывалась когда пост редактируется.
Пробовал через add_action(‘publish_post’, ‘своя функция’);

Но в этом случае своя функция работает и при редактировании

NextGEN Gallery не устраивает, посоветуйте как Вконтакте, пожалуйста

Добрый день, установила NextGEN Gallery, все встало, немного не разобралась и иерархией, галерея в альбом входит или наоборот, но это ладно, разберусь. Все работает, но когда нажимаешь на превью, он затемняет сайт и флешем сверху показывет оригинальный размер. Блин, вот я ненавижу такую систему. Посоветуйте, есть ли галерея, которая показывает картинки просто как в Вконтакте. Вот там, на мой вкус, идеально все сделано. Есть ли в вордпрессе такое?

Загрузка картинок с адреса (URL) на свой сервер

Друзья, подскажите есть такая вещь, что б при вставке новости в пост при указании адреса (URL) картинка вставлялась не как ссылка на другой сайт, а копировалась на сервер и бралась уже от туда.

Спасибо.

Убрать одну страницу из списка сраниц

Подскажите плиз как убрать из списка страниц определенную страницу?

Первая фотка сылка но остальные в посте, как сделать!

На сайте добовляются много фотоподборок, но на главной отоброжаю только первую фотку из подборки, потом тег море, но хотелось бы чтобы первая фотка из фотоподборки перекидывала на всю подборку, пробывал при заливке и постинге в админке сделать ссылка на страницу, но при таком раскладе открывается урл вида ?attachment_id=3490, а там эта же картинка но в уменьшенном виде, но не на постт полностью, как же осуществить правильно????

Изменить вывод в MuTags 0.2b

Здраствуте.

Плагин MuTags 0.2b.

После клика по метке в облаке выводит страницу с списком постов с меткой.

Вопрос, возможно ли модеронизировать его, что бы он выводил сразу посты а не просто линки на них.

как например на http://lecactus.ru/

обработка 404 ошибки

есть код в archive.php

    <?php if (have_posts()) : ?>    
    <?php while (have_posts()) : the_post(); ?>
    
    вырезано<?php the_content(__('Читать дальше..'));?>вырезано
    
    <?php endwhile; ?>

    
    <!-- do not delete-->
    <?php else : ?>

    <h2>Извините, категория пока еще пуста.</h2>
    <p>Здесь пока еще ничего нет, заходите позже.</p>

    <!--do not delete-->
    <?php endif; ?>

то есть если нет постов в категории, то должна быть показана эта ошибка. 2 вопроса мне непонятных:

1. почему если в категории нет постов, то показывается ошибка из index.php, а не из archive.php? это же нелогично, я думал при просмотре категории вызывается archive.php, а не index.php

2. если положить в корень файл 404.php, то он вообще перекрывает действие всех файлов и index.php и archive.php – какой тогда смысл в обработке <?php else : ?> – ошибка? весь текст обработки ошибки получается можно удалять – он вообще не работает.

итого – как при общих ошибках (не найден пост например) отдавать 404.php, а при пустой категории отдавать ошибку, которая встроена в archive.php?

Главная страница

Сделал страницу home.php из idex.php, вставив перед циклом loop строку <?php query_posts(‘page_id=5’); //retrieves page 5 only?>
Однако это не повлияло на вывод постов – выводятся все новости. На локальном хосте это работает. wp 2.51.javascript:insert_text(‘:(‘, ”);
🙁 Просветите, пожалуйста!.

способ обнуления ID?

как починить все ID? скажем получил я в процессе тестов на localhost 10 постов и страниц – но ID уже заходит за 100 и больше. есть ли возможность скинуть ID и начать все с нуля, чтобы эти 10 постов и страниц заняли ID от 1 до 10?

экспорт\импорт в xml не помог – новые записи получили ID уже от 100.
переустановка базы вордпресса не катит – слишком много настроено плагинов.

Страница 404 – возможны иные варианты?

Адреса страниц сайта после перехода на WP из вроде такого: tatata.com/mymy.html, превратились в нечто такое : tatata.com/?p=225.
Естественно, что старый адрес будет выдавать ошибку 404.

Из известных мне трёх существующих возможностей ни одна не нравится.

1. На каждой из двухсот с лишним старых страниц сайта прописать простенький скриптик для переадресации по правильному адресу.(Ломает, да и поисковики не очень-то такие переадресации любят.)

2. Применить сложные системы вроде алгоритма сопоставления метафонов (metaphone matching) и файла простых весовых оценок для перенаправления пользователей при опечатках и орфографических ошибках, а также некорректных ссылках.(Ещё нужно разобраться, да и капризная это штука.)

3. Можно дав на 404-й адрес главной страницы и карты сайта плюнуть, растереть и забыть. Пускай сами ищут.(Однако, не хочется посетителей своих обижать. У меня их и так сотня-полторы в день. Приходят по конкретной ссылочке, по совершенно конкретному вопросу. За что же им такой геморой навешивать?)

Словом, хотелось бы применить какое-то более гуманное(и к себе и к посетителям) решение.
Буду весьма признателен за конструктивные предложения.

Кодировка в TITLE

Здравствуйте! Суть проблемы на главной странице TITLE отображается правильно(Все для Веб мастера и создания сайта), а когда перейти в другую категорию, то в Title вылезают крякозяблы(http://flashripper.net/category/obzory/obzory-programm)

Использую плагин для SEO: All in Seo Pack

Что делать? Как исправить этот глюк с кодировкой?

Показывать во фронтенде создание записи

Есть ли такой плагин, чтобы для зарегистрированных пользователей выводить профиль и создание/редактирование записей во фронтенде, то есть в дизайне сайта, а не в админке?

дата поста и дата модификации поста

вывожу дату и дату модификации поста

<?php the_time('d.m.Y'); ?>, обновлено: <?php the_modified_time('d.m.Y'); ?>

однако есть одна проблемка, если пост не обновлялся, то он выдает что-то типа:

17.06.2008, обновлено: 17.06.2008

каким образом не выводить дату обновления, если она совпадает с датой создания поста? пробовал сравнивать даты – получилась ерунда. поих знаний php недостаточно, codex не помог.

Нетривиально использование облака тегов. Помогите.

Дано:
Wordpress 2.3
Плагин Simple Tags
В определенной рубрике работает облако тегов. Выводятся только те теги, которые присутствуют в этой рубрике.

Задача:
При клике по тегу выводить записи принадлежащие только этой рубрике. Записи, содержащие такой же тег, но принадлежащие другой рубрике, выводиться не должны.

Реально ли это сделать? Как это сделать?

query_posts — category__and — следующая страница не работает, БАГ

а вы замечали странную ошибку в вордпрессе в момент запроса category__and ???

посмотрим на следующий код:

[quote]query_posts(array(‘category__and’=>array(6,15)));

где 6 и 15 это ID категорий к которому привязан пост.[/quote]
написав этот код мы увидим посты который относятся к категориям 6 и 15 одновременно, таких постов например 16 штук. А в опциях поставлено 5 постов на страницу. Тогда мы увидим при этом запросе только первые 5 постов? ….. а следующие 5 постов которые по нажатию ссылки "Next Entries" якобы должны были показаться не показываются. Вот в этом то и проблема — он не слушается ссылки "Next Entries"….. как тут быть???

тут есть некоторые ссылки на эту тему…. но вот как решить проблему с переходами на следующие страницы одного и того де поста (стр 1, стр2, стр 3, …) там не написано…..

вот ссылки:

http://wordpress.org/support/topic/155844

http://wordpress.org/support/topic/152451#post-679318

как быть??? что сделать чтоб навигация работала в момент запроса category__and ??? какие будут идеи???

Из какого файла посты выводятся в RSS фид?

Из какого файла посты выводятся в RSS фид?

Я настроила wordpress на вывод полного текста поста, а в RSS он отображается анонсом.
В файле singl.php вывод через

<?php the_content('Далее &raquo;'); ?>

Знатоки, подскажите пожалуйста что еще нужно поменять, чтобы это исправить?

Метод пактной загрузки стилей и скриптов. Долой лишний код!

Итак, вопрос: а нужны ли пачки строк в шапке вида "<script src="…" type="text/javascript"></script><style type="text/css" media="screen">@import url(‘…’);</style>" и так далее. с увеличением "фишечек" количество их заставляет задуматься – а оно того стоит? у мну когда одни мета-поля стали вырастать более чем за 70 строк (включая php условия) – задумался..
Ведь можно сделать проще – отдавать браузеру весть кантент одним потоком – увеличим скорость загрузки страницы, и добьемся поставленной цели – избавимся от лишнего кода. Формат запроса будет: скрипт.php?режим;файлы, остается лищь сформировать вызов к скрипту и собственно его самого наколбасить.
Плавно переходим к кодингу. В functions.php добавляем:

define('INFINE_FILES_LOADER',   'metaloader.php'); // загрузчик файлов, юзаемый для скриптов и ксс
function infine_include_file($filename) { # эту функцию юзаю и для других целей
  if(file_exists($filename)) include_once($filename);
}
infine_include_file(TEMPLATEPATH.'/'.INFINE_FILES_LOADER);

в корень темы аккуратно ложим файл metaloader.php, со следующим содержанием:

<?php

define('INFINE_METALOAD_BRCHAR',  ';');

function infine_load_files($mode = 'css', $files = '', $echo = false, $printBefore = '') {
  if($files !== '' && is_array($files)) {
    switch ($mode) {
      case 'css':
        $prefix = "<style type=\"text/css\" media=\"screen\">@import url('";
        $postfix = "');</style>\n";
        break;
      case 'js':
        $prefix = "<script src=\"";
        $postfix = "\" type=\"text/javascript\"></script>\n";
        break;
    }
    $request = get_bloginfo('template_url').'/'.INFINE_FILES_LOADER;
    $request .= "?$mode".INFINE_METALOAD_BRCHAR;
    $files = array_unique($files);
    for ($i = 0; $i < count($files); $i++) {
      $request .= $files[$i];
      if($i != count($files)-1)
        $request .= INFINE_METALOAD_BRCHAR;
    };
    $request = $printBefore.$prefix.$request.$postfix;
    if($echo){
      print $request;
    } else {
      return $request;
    }
  }
}

$request = $_SERVER['QUERY_STRING'];

if(isset($request)) {
  static $contentType, $charset;
  $files = array();
  $i = 0;
  $charset = 'UTF-8';

  # выполняем проверку
  $request_files = str_ireplace("..", "", $request);

  # из запроса формируем массив с именами файлов
  $f = strtok($request_files, INFINE_METALOAD_BRCHAR);
  while ($f) {
    $files[$i] = $f;
    $f = strtok(INFINE_METALOAD_BRCHAR);
    $i++;
  }

  $request_mode = array_shift($files);

  foreach($files as $file) {
    #print "/* filename: ".$file." */\n";
    $content .= @file_get_contents($file);
  }

  $content = str_replace(array("  ", "\n", "\r\r"), "", $content); # more compress, but js maybe not work
  //$content = preg_replace("/\/\*+.*?\*\/+/", "", $content); # вырезаем комментарии между /* */

  switch ($request_mode) {
    case 'css':
      $contentType = "text/css";
      break;
    case 'js':
      $contentType = "text/javascript";
      break;
    break;
  }
  ob_start("ob_gzhandler");
  header("Content-type: $contentType; charset: $charset");
  header("Cache-Control: must-revalidate");
  header("Expires: ".gmdate("D, d M Y H:i:s",time() + 3600 /* 60*60 */) . " GMT");
  print $content;
}

оттак. с файлами вроде разобрались. теперь доберемся до шапки нашей любимой темы. В нулевую строку вписываем:

<?php
$cssfiles = array(); #массив с путями к css-файлам
$js_files = array(); #массив с путями к скриптам
?>

м теперь заменяем цель нашей работы – все вызовы к стилям и скриптам заменяем соответственно:

array_push($cssfiles, get_bloginfo('template_url').'/mozilla.css'); /* CSS */
array_push($js_files, get_bloginfo('template_url').'/swfobject.js'); /* JS */

последний шаг: пора вывести сформированный запрос:

<?php infine_load_files('js', $js_files, true); ?>
<?php infine_load_files('css', $cssfiles, true); ?>

вот вроде и всё. теперь на выходе получим не

<script src="http://www.your-site.com/wp-content/themes/theme/js/script1.js" type="text/javascript">
<script src="http://www.your-site.com/wp-content/themes/theme/js/script2.js" type="text/javascript">
<script src="http://www.your-site.com/wp-content/themes/theme/js/script3.js" type="text/javascript">
<script src="http://www.your-site.com/wp-content/themes/theme/js/script4.js" type="text/javascript">

а

<script src="http://www.your-site.com/wp-content/themes/theme/metaloader.php?js;http://www.your-site.com/wp-content/themes/theme/js/script1.js;http://www.your-site.com/wp-content/themes/theme/js/script2.js;http://www.your-site.com/wp-content/themes/theme/js/script3.js;http://www.your-site.com/wp-content/themes/theme/js/script4.js" type="text/javascript">

из кода будут вырезаны комментарии /* … */, лишние пробелы, лишние переносы строк (повторяющиеся). Проверено, работает без проблем. таким методом подрезал на скриптах ещё порядка 8..12% от общей массы

upd. обновил скрипт. теперь работает как надо
upd. обновил metaloader.php – теперь он ещё и gz-ом жмет. экономим ещё порядка 30-40%

ps. нечто подобное уже встречал в сети, но на момент написания не нашел.

Subscribe To Comments

можно ли как-нибудь вычислить есть у зашедшего на блог юзера подписка на блоге и если есть, то вывести ссылку на управление подписками?

Рега с использованием другой темы.

Здарствуйте. такой вопрос. Возможно ли сделать процесс регистрации в другой теме, отличной от блога. Т е что бы регистрация проходила на дефолтной теме блога, а на самом блоге стояла бы другая тема.

Заранее спасибо.

Проблемма с DIVами

В общем подгоняю дизайн и возникла проблемма.

Мне надо прописать название сайта таким образом, чтобы одно слово было одного цвета, остальные другого цвета. Вот что я сделал:

<div id="header">
                     <!--the blog title-->
        <h4>XXX</h4><h2>XXXXXXXXXXXXXXXXXX</h2>
<!--blog description-->
                  <h3><?php bloginfo('description'); ?></h3>
</div>

Вот участок CSS

#header { 
    height: 135px; 
    padding: 83px 0px 0px 25px;
    background: url(images/header.gif) top center no-repeat;
    margin-bottom: 10px; 
    }
#header h2 {
    color: #ffffff;
    font-size: 20px;
    font-family: Bookman Old Style, Arial, Sans-Serif;
    margin: 0px;
    }
#header h4 {
    color: #6699FF;
    font-size: 20px;
    font-family: Bookman Old Style, Arial, Sans-Serif;
    margin: 0px;
    }

#header h2 a {
    color: #ffffff;
    text-decoration: none;
    }

#header h2 a:hover {
    color: #000000;
    text-decoration: none;
    }

#header h3 {
    color: #cccccc;
    font-size: 10px;
    font-family: Georgia, Times New Roman, Sans-Serif;
    font-weight: bold;
    text-transform: uppercase;
    margin: 0px;
    }

Проблемма в том, что слово которое между <h4></h4> отбражается на одной строчке, а между <h2></h2> на следующей. Возможно так и должно быть по правилам HTML, но мне нужно чтобы на одной строчке. Как исправить?

Anonymous
Отправить
Ответ на: