Создание подблога в WordPress

Сегодня захотел добавить фотографии с отпуска в блог, однако сразу стало понятно, что большинству подписчиков они попросту неинтересны. Поэтому появилась идея создать подблог в данном блоге, куда и писать все записи личного характера. Увы стандартный движок WordPress не умеет делать подблоги, поэтому пришлось дописывать функционал самому:

Требования:

  • записи из личного не должны попадать на главную страницу
  • под записи из личного должна быть отдельная категория (подблог)
  • в новом подблоге должна быть своя RSS лента
  • в основной RSS ленте не должно быть записей из личного подблога

Решение:

  1. Создаем рубрику, в моем случае рубрика личное с urlname private
  2. Узнаем ID новой категории, его можно подсматреть напрямую в БД или в админке при редактировании категории ссылка будет содержать данное число
  3. Редактируем файл functions.php темы, которую вы используете. Добавляем следующие строчки:

    function filter_subblog_entries($query)
    {
    if (!$query->is_admin &&
    (!isset($query->query_vars->category_name) || $query->query_vars->category_name != 'private')
    ) //exclude private from main and not admin
    {
    $query->set('cat','-44');
    }

    return $query;
    }
    add_filter('pre_get_posts','filter_subblog_entries');

    Вместо 44 подставляем число, полученное из третьего пункта, вместо private подставляем urlname нашей категории

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

P.S.
Если вы используете widgets и там есть ссылки на RSS, то необходимо при просмотре подблога показывать другой вариант widget’a (с другой ссылкой на RSS) для этого идеально подходит плагин Widget Logic, который показывает виджеты в зависимости от логического условия.

Запись опубликована в рубрике coding, soft, web с тэгами , . Создать закладку наpermalink. Оставить комментарийили trackback:Trackback URL.

10 комментариев

  1. Опубликован 24.02.2010 в 01:19 | Прямая ссылка

    Я из-за этого перешел на WP-MU )

  2. Опубликован 24.02.2010 в 08:19 | Прямая ссылка

    В общей RSS не будет этих постов?

  3. Опубликован 26.02.2010 в 20:04 | Прямая ссылка

    Ещё можно сделать отдельную кнопочку в углу, которая меняет отображение всего контента сразу: «Хочу видеть личное / не хочу». Читатель может заинтересоваться теми же фотографиями, например, между просмотром других постов.

    • rvnikita
      Опубликован 01.03.2010 в 00:03 | Прямая ссылка

      Мысль интересная, но как сделать это по быстрому я не знаю.

  4. Опубликован 15.05.2010 в 16:52 | Прямая ссылка

    Спасибо за полезную фишку.
    Переслал парочке коллег, что работают с WP.

  5. Опубликован 23.07.2010 в 12:02 | Прямая ссылка

    У Lady Maksima был пост о плагине, который позволяет исключить размещениеплатных постов на главной и в RSS блога. Так попроще будет.

  6. Опубликован 28.02.2011 в 16:28 | Прямая ссылка

    Как вывести на главной это меню?? Я делаю все как написано но меню не появляется рядом с главной и о блоге

  7. Дима
    Опубликован 01.03.2011 в 12:12 | Прямая ссылка

    Как вывести эту категорию в списке страниц?

Оставить комментарий

Ваш e-mail никогда не будет опубликован или передан третьим лицам. Обязательные поля отмечены *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>