Фев
26
319

Рубрики и категории wordpress, функция wp_list_categories

категории wordpressДля каждого поста и записи wordpress пользователь может задавать одну или несколько рубрик (категорий). Эта возможность позволяет сгруппировать близкие по смыслу записи и предоставить возможность посетителям читать и просматривать только те рубрики, которые им нравятся. Например, когда я создавай свой основной блог Tod’s Blog, то собирался писать обо всех нюансах интернета — начиная с дизайна и заканчивая программированием. Допустим, человек пришел из поисковика на статью про wordpress и захотел бы почитать про систему еще больше – ему пришлось бы рыться в архивах, повторно использовать поиск либо просматривать все посты подряд. Разумеется, этого всего можно было избежать, зайдя в специальную категорию под названием wordpress. Или, например, для те, кто увлекается лишь дизайном, могла быть интересна рубрика wordpress  темы для блога.

Если внимательно посмотрите на шапку блога, то можете увидеть своего рода меню, где рубрики wordpress выступают в роли разделов проекта. Как по мне, это достаточно удобный и наглядный способ разделения тематики записей.

Для управления категориями wordpress существует несколько механизмов. Во-первых, создание и редактирование всех категорий производится в разделе «Записи» пункт «Рубрики».

рубрики wordpress

В самом центре страницы вы увидите форму для добавления новой категории. Здесь нужно указать ее название (имя), ярлык (часть ссылки url для чпу), родительскую категорию (если такая есть), а также можно задать краткое описание. Родительская категорий позволяет создавать в wordpress разделы с несколькими уровнями вложенности – например, для категории «водрпресс» на каком-то ИТ блоге можно добавить те же шаблоны, плагины и т.п.

Справа на странице Рубрики отображаются все категории wordpress, с возможностью из редактирования либо удаления. Чтобы произвести действия достаточно подвести курсор мышки на имя той или иной категории, после чего увидите небольшое всплывающее меню.

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

категории wordpress

Здесь же можно добавлять новые рубрики – кликнув по соответствующей ссылке. Единственный недостаток этого механизма в том, что при создании можно указать лишь имя и родительскую категорию, тогда для как задания поля ярлык придется переходить в раздел «Рубрики» и редактировать информацию там.

Кроме того редактировать категории для постов в блоге можно через их список в меню Записи – Изменить. Там при наведении на ту или иную публикацию вы увидите ссылку «Быстрое редактирование». Нажимаем по ней и видим форму для правки:

рубрики wordpress

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

Функция wp_list_categories для категории wordpress

По традиции рассматриваю не только вопрос работы с теми или иными элементами системы, но и привожу специальные функции для шаблонов. Точно также как я рассказывал про wordpress страницы. Итак, для вывода списка категорий со ссылками на них используется wp_list_categories. Она имеет целый ряд аргументов:

  • show_option_all – отображает ссылка на все категории, если в качестве стиля отображения выбрал список.
  • orderby – сортировка для категорий по ID, имени (name), ярлыку (slug), количеству постов (count).
  • order – порядок сортировки (ASC – по увеличению, DESC – по уменьшению).
  • show_last_updated – показывать дату последнего обновления.
  • style – стиль оформления: список (list), разделение через <br> (none).
  • show_count – отображать количество постов в категории.
  • hide_empty – скрывать пустые рубрики, где нет записей.
  • use_desc_for_title – использовать описание для атрибута title в ссылке.
  • child_of – вывод только категорий для заданной родительской рубрики.
  • feed – отображение ссылку на wordpress rss фид для категорий.
  • feed_type – тип фида.
  • feed_image – картинка для значка rss.
  • exclude – исключение категорий из списка, при этом параметр child_of автоматически отключается.
  • exclude_tree – исключения целой ветки рубрик.
  • include – обратный параметр, который включает только указанные категории wordpress в список.
  • hierarchical – параметр для отображения подкатегорий.
  • title_li – заголовок списка рубрик.
  • number – количество категорий для отображения (если их слишком много).
  • echo – выводит рубрики, по умолчанию равен True.
  • depth – указывает количество уровней для подкатегорий для вывода.

Напоследок приведу ряд примеров использования wp_list_categories. Во-первых, вариант из шапки этого блога.

<?php wp_list_categories('hide_empty=1&exclude=1&title_li=&orderby=count&order=desc&use_desc_for_title=0'); ?>

Здесь задано отображение скрытых категорий, исключение из списка рубрики с, пустая строка для заголовка блока, сортировка по количеству статей и по уменьшению (то есть больше всего статей у меня в разделе функции wordpress). Последний аргумент не подставляет описание категории в title для ссылки.

Ну и еще парочку простых ситуаций. Использование исключений и включений категорий.

<ul><?php wp_list_categories('orderby=name&include=3,5,9,16'); ?></ul>
<ul><?php wp_list_categories('orderby=name&show_count=1&exclude=10'); ?></ul>

Отображения только подрубрик выбранной категории

<ul> 
<?php wp_list_categories('orderby=id&show_count=1&use_desc_for_title=0&child_of=8'); ?>
</ul>

Показ категорий с RSS ссылками

<ul>
<?php wp_list_categories('orderby=name&show_count=1&feed=RSS'); ?>
</ul>

Можно использовать картинку для фидов rss

<ul>
<?php wp_list_categories('orderby=name&show_count=1&feed_image=/images/rss.gif'); ?>
</ul>

Если есть что дополнить про рубрики и категории wordpress, пишем в комментариях.

Update: Также вам может пригодится небольшой хак чтобы убрать ненужный текст из атрибута title для ссылок категорий. В wordpress по умолчанию определяется текст title что-то вроде «просмотреть все записи в рубрике ….», можно вместо этого просто оставить название рубрики — читаем статью по ссылке выше.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 20, средний балл: 6,05 из 7)
Загрузка...

категория Категории: Возможности;
теги Теги: , , , .

комментариев 319 к статье “Рубрики и категории wordpress, функция wp_list_categories”

  • Tod   21.03.2012

    Екатерина, исключать через запятую, то есть exclude=22,10 — по моему именно так у меня получалось.

  • Tod   21.03.2012

    Руслан, это реализовано через css стили, можно подсмотреть код блока, какие class`ы там используются, как это сделано и что за оформление прописано в style.css.

  • Игорь   24.03.2012

    У меня к вам такой вопрос:

    У меня есть блог содержащий рубрику док. фильмы которые делятся на соответствующии категории(история, природа, животные и т.д.). Я добавляю новую запись допустим про енотов, присваиваю им рубрику док. фильмы и категории, природа, животные. Когда визуально я контролирую на экране сею запись, то в верху(под ее названием) отображается дата \ рубрика \ категория1\категория2\ соответственно. Что я хочу сделать, распределить эту же запись по категориям, «год»(в котором снимали енотов допустим 2012), «страна»(которая снимала про енотов), но при этом, чтобы они не отображались под названием записи, как категории «природа», «животные» т.е. они были невидимыми, но когда я захожу в запись и вижу ссылку но год снятия фильма про енотов(2012 год), то при нажатии на год 2012, у меня отображались все док. фильмы принадлежащей категории., т.е. все фильмы которые я внес в категорию «2012». Помогите пожалуйста, в гугле лазил, ничего подобного не нашел, кроме плагинов которые скрывают рубрику вместе с записью:(((

  • Tod   26.03.2012

    Игорь, это вам нужно почитать про таксономию в wordpress — как раз то, что вам нужно.

  • Игорь   26.03.2012

    Спасибо за дельный совет! Буду изучать, что оно есть такое:)

  • Валя   28.03.2012

    Вопрос — а не вредно ли размещать статью сразу в нескольких категориях? где-то читала, что поисковики не любят дублирующийся контент на сайте

  • Tod   28.03.2012

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

  • Татьяна   09.04.2012

    А у меня вопрос такой: у меня есть рубрики, есть по несколько статей в каждой рубрике. Но когда нажимаешь на конкретную рубрику, выходит лишь последняя статья, размещенная в этой рубрике. Другие статьи из этой рубрики (несмотря на то, что они к ней относятся и помещены в неё) НЕ отображаются в данной рубрике. Что делать? Заранее благодарю за ответ!

  • Tod   09.04.2012

    Татьяна, это глюк (ошибка) шаблона, в файле archive.php после заголовка идет то ли какой-то неправильный код, то ли вообще там ничего нет. Но это нужно исправлять — как видите, там даже сайдбар не грузится. Можно частично позаимствовать код с файла index.php, который на архивы чем-то похож.

  • Beka   11.04.2012

    Зравствуйте! Помагите мне пожалуйста исправить ошибку, у меня вопрос как у татьяна. Сайт в вордпрессе : у меня есть рубрики, есть по несколько статей в каждой рубрике. Но когда нажимаешь на конкретную рубрику, например Рубрику НОВОСТИ выходит все статья, А осталные рубрике не выходить ничево. Когда нажимаешь на рубрику Пишет «Sorry, nothing found».

  • Tod   11.04.2012

    Beka, это ошибка в шаблоне какая-то, попробуйте базовый шаблон установить — если и там глюк, то нужно «копать» в сторону плагинов, возможно, они вызывают такие действия. Но в 99% это все из-за шаблона и каких-то изменений (ошибок) в нем.

  • Алина   14.04.2012

    Здравствуйте! Помогите пожалуйста, рою интернет, пока не могу найти. Нужно реализовать следующее:
    необходимо, чтобы список рубрик был раскрывающимся, но при нажатии на рубрику отображались не подрубрики, а статьи, которые в ней есть, а при входе в саму рубрику или статью рубрики, над блоком со списком рубрик появлялся отдельный блок со всеми статьями этой рубрики. И так для каждой рубрики отдельно — свой блок с находящимися в ней статьями. Судя по всему, плагин я вряд ли найду?

  • Tod   17.04.2012

    Алина, стандартными функциями, как мне кажется, такое не реализовать, т.к. это противоречит логике системы — если речь идет о меню, то при открывании рубрики должны идти подкатегории. В принципе, наверное, это можно реализовать через какой-то php хак, но тут нужно разбираться в программировании дабы эту затею реализовать. В принципе, по описанию чем-то напоминает плагин отображения похожих статей по категории — есть, кстати, хак который выводит все это без плагина, можно попытаться разобраться в нем и применить что-то для своих целей. Но вообще это сомнительная затея — что если в рубрике 100 статей? как такое будет открываться? — разрушит весь дизайн и вообще будет не очень полезно.

  • Алина   18.04.2012

    Спасибо за оперативный ответ, но я нашла плагин, который как раз и реализует первую часть моей задачи, в связи с чем, в принципе, не так остро встает необходимость осуществлять вторую: плаги отображает список рубрик, а при раскрытии показывает содержимое рубрики, включая и подрубрики, и статьи как в подрубриках, так и вне их. Еще раз спасибо!

  • Tod   19.04.2012

    Алина, а что за плагин такой?

  • Алина   19.04.2012

    Плагин называется Collapsing Categories. На блоге, где я нашла инфу о нем, упоминается еще о двух подобных, хочу потом еще их тоже посмотреть(пока руки не дошли).

  • Кирилл   22.05.2012

    Добрый вечер! У меня такой вопрос.
    Почему-то когда выбираешь какую-то рубрику с записями, то на странице отображаются не те записи, которые есть в рубрике, а все записи на главной странице. Из-за чего это происходит? И как разделить записи по рубрикам?

  • Tod   23.05.2012

    Кирилл, определенно это какой-то глюк в шаблоне, если для разных записей у вас установлены разные категории. Обычно за отображение постов в общем случае отвечает index.php, но есть также и archive.php, где может быть задано отображение для категорий, тегов и т.п. Как вариант можно найти шаблон с archive.php, скопировать этот файл в текущую тему и потом уже (если потребуется) перенести часть кода из index.php (для отображения постов) в новый archive.php. Я бы делал так, ну или можно поискать ошибку отчего вообще происходит это все, как видите, в моем блоге при той же теме такого не наблюдается (может плагин какой-то виноват).

  • Gospel   30.05.2012

    Добрый вечер! Помогите пожалуйста решить следующую проблему. Для блога нужно что бы в ночале каждой рубрики и подрубрики выводился текст, а потом уже записи относящиеся к этой рубрике/подрубрике. Какими бы функциями это реализовать?

  • Tod   30.05.2012

    Gospel, судя по всему вам пригодится статья Добавляем текст описания в категории wordpress блога — там все подробно описано.

  • Ольга   10.06.2012

    Здравствуйте!

    Я в сайтостроении полнейший чайник. Сегодня заметила ошибку на своем блоге, и, безусловно, не знаю, как ее ликвидировать. Дело в том, что у меня в каждой рубрике отображаются все статьи блога, хотя при размещении каждая статья «отправлялась» в нужную категорию, а не во все сразу. Соответственно, в категории «КРАСОТА И ЗДОРОВЬЕ» должны быть посты подходящей тематики и т.д. Однако на данный момент там все статьи, когда-либо мной размещенные. То же самое и с другими рубриками и постами. Очень надеюсь на Вашу помощь в устранении данной ошибки.

    С уважением,
    Оля.

  • Tod   10.06.2012

    Ольга, визуально очень похоже на ситуацию с неработающие Permalinks категорий в WordPress 3.1 и новый Simple Tags — если у вас используется этот плагин, почитайте статью, там есть решение. Вообще еще это может быть вызвано каким-то другим плагином, поочередно отключайте каждый из них и смотрите когда ситуация исправится.

  • Ольга   10.06.2012

    Спасибо! Попробую :)

  • Vadim   17.06.2012

    Доброго дня!
    Проблема в том, что не могу никак в одном шаблоне сделать древовидное отображение рубрик. Т.е. присутствует много категорий и подкатегорий. Использовал функцию depth — не помогло. Ставил разные плагины, тоже не хотели работать и выстраивать рубрики деревом.
    Может подскажите какой выход? Хоть тему меняй, из-за этого.
    Можно как то прописать кодом заново требуемый вывод?
    Заранее благодарю!

  • Tod   18.06.2012

    Vadim, есть подозрение, что проблема в CSS стилях, где для списков UL, OL, LI заданы нулевые отступы padding, margin — нужно «копать в этом направлении», создайте в шаблоне вокруг списка какой-то DIV с определенных классом а потом для него пропишите отступы по типу .rubriki ul li {margin-left: 10px;} или что-то около того.

  • Katerina   19.06.2012

    Помогите настроить рубрики в wordpress!
    Я создаю рубрику, отмечаю чтобы статья отображалась именно в этой рубрике. Но в этой рубрике все равно отображаются все публикации, как на главной странице. Как сделать чтобы в определенной рубрике отображались только нужные статьи?

    я нашла кое-что. но не знаю как это исправить.
    если кликнуть в менюшке по рубрике Актрисы, адрес — http://misslucky.ru/category/actress/.
    А сами статьи из этой рубрики хранятся по адресу http://misslucky.ru/actress/. буду думать, как это исправить

  • Tod   19.06.2012

    Katerina, почему же, как раз в /category/actress/ должны быть актрисы по умолчанию, без category выдает ошибку. Реально уже не первый раз читаю о подобной проблема, изначально в wordpress все работает четко с категориями, поэтому я бы смотрел в сторону плагинов — какой-то из них может глючить, поотключайте по очереди и найдите в каком из них ошибка. Может еще от шаблона зависит, но плагины проверил бы в первую очередь.

  • Katerina   19.06.2012

    Tod, сделала так, как вы сказали. Все заработало! Спасибо вам огромное!

  • Vadim   19.06.2012

    Tod, присоединяюсь к Katerine и благодарю за помощь! Все же в CSS проблема была. У вас замечательный блог, очень часто пользуюсь им.
    Вдохновения и сил для новых постов!

  • Tod   20.06.2012

    Katerina, Vadim, спасибо за положительные отзывы:)

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


Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

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

Поиск:
Последние посты
Лучшее в категории

Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости