Обработка металлов

Категории в вордпресс. Как вывести описание рубрики в WordPress

Платформа WordPress имеет такой инструмент как «Рубрики», при правильном использовании которого можно добиться неплохих результатов. В данной статье разберем методы создания рубрики WordPress, использование рубрик для удержания посетителей на сайте. Так же разберем как правильно давать название рубрикам и где их размещать.


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

Что такое рубрики WordPress

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

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

Правильное создание категорий в WordPress

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

Для того что бы создать рубрику нужно перейти с в меню «Записи»/»Рубрики».

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

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

Закончив вводить данные рубрики нажимаем на кнопку «Добавить новую рубрику», после чего в нее можно помещать ваши посты.

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

Это создание происходит на правой боковой панели редактора, в пункте «Рубрики». Как мы можем видеть, при создании рубрики непосредственно в редакторе мы не получаем возможности задавать ярлык и описание . Но не стоит расстраиваться, мы всегда сможем внести эти данные, отредактировав рубрику так, как показано в предыдущем способе.

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

Как поменять рубрики отдельной публикации?

Бывает так, что вы ошиблись при выборе рубрики к которой будет принадлежать публикация. Не беда, все можно изменить достаточно быстро.

План действий таков:

  1. Заходим в админку.
  2. Переходим в пункт меню Записи/Все записи.
  3. Находим пост, у которого нужно провести изменения.
  4. Нажимаем на кнопку изменить (ниже названия поста).
  5. Когда откроеться редактирование записи в правой колонке находим блок «Рубрики».
  6. Убираем и доставляем необходимые галочки напротив рубрик.
  7. Нажимаем обновить.

Таким вот способом можно сменить рубрики для публикации.

Настройка виджета категории в WordPress

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

После того как вы перетянули виджет в сайдбар, вы можете провести такие настройки изменения:

  1. Изменить название блока рубрик. К примеру изменить слово рубрика на «Категории», «Темы» или на любое другое слово.
  2. Выбрать способ отображения в виде выпадающего меню.
  3. Приписать в конце названия рубрики количество записей в данной категории.
  4. Показывать строгую иерархию рубрик, выделять подкатегории.

Как правильно задавать название рубрикам WordPress

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

Как только мы определимся с тематикой рубрики мы должны придумать такое обобщенное название которое подошло бы ко все статьям данной группы. К примеру наш сайт о автомобилях, и у нас есть десять постов о марке машины «ВАЗ», в которой находятся описания десяти разных модификаций данной модели. Будет ли название для этой рубрики «ВАЗ» общей для всех записей? Конечно же да! Исходя из такого понятия мы должны правильно называть рубрики ! Если вы не знаете как назвать тогда вспомните этот «ВАЗ» и дайте такое же общее название для вашей темы, одним или двумя-тремя словами.

Где и как размещать рубрики WordPress

Как рубрики способны удержать посетителей на сайте

Рубрики по своей сути являются инструментом навигации и поиска по сайту. Чем интереснее будут названия и чем точнее они будут раскрывать тему тем эффективнее будет их использование.

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

Таким не хитрым способом рубрики способны удерживать ваших посетителей на сайте подольше.

В заключение: пользуйтесь рубриками, группируйте записи, облегчайте в первую очередь поиск для ваших посетителей, делайте интересные и информативные названия для рубрик и вы за это получите свою долю вознаграждения. Надеюсь данный был полезен.

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

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

Кроме и исходящих ссылок, которые плодит в неимоверных объемах данный движок, отображение записей главной страницы, рубрик, архива происходит за счет анонса статей, преимущественно до тега «more», который вы ставите в посте в том месте, где хотите его обрезать.

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

1) Главную страницу сделать статической

2) Архивы закрыть от индексации

3) Ко всем рубрикам создать описание и вывести его только на первой странице, ведь еще существуют страницы пагинации.

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

Затем переходите в настройки «Чтение» и выбираете, что отображать на главной, в данном случае «Статическую страницу», которую вы создали ранее и выбираете ниже из выпадающего списка.

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

Второе . О том, как закрыть от индексации поисковиков архивы и другие ненужные страницы прочитаете в обновленной статье « ». Сегодня же я хочу уделить больше внимания рубрикам, ведь в них скрыт большой потенциал в плане юзабилити и трафика.

Третье . Для того чтобы создать описание к рубрике вордпресс площадок, достаточно перейти в панель управления и выбрать подходящую рубрику, а затем нажать «Изменить».

Из всех полей нас интересует «Описание», вот туда и нужно вставлять текст, однако по умолчанию wordpress не отображает его на страницах категорий, о чем и предупреждает вебмастеров.

Итак, описание мы сделали теперь осталось вывести его непосредственно в рубриках, для чего придется вставить специальных код в файлы шаблона, у меня это archive.php, а у кого-то может быть category.php если таковых нет, тогда смотрите index.php.

Методом тыка находим место в файле, где вы хотите вывести описание и вставляете туда следующий код:

Скажу сразу, что дополнительно придется оформить стиль к описанию, так как мы добавили код вне цикла статей и его стили не будут затрагивать наш новый текст, поэтому пропишите новые в файле style.css.

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

Здесь есть два варианта:

— используя код
— используя плагин

Если вы не хотите загружать блог плагинами, тогда воспользуйтесь кодом, который надо вставить в файл functions.php:

$filters = array ("pre_term_description" , "pre_link_description" , "pre_link_notes" , "pre_user_description" ) ; foreach ( $filters as $filter ) { remove_filter($filter , "wp_filter_kses" ) ; } foreach ( array ( "term_description" ) as $filter ) { remove_filter( $filter , "wp_kses_data" ) ; }

$filters = array("pre_term_description", "pre_link_description", "pre_link_notes", "pre_user_description"); foreach ($filters as $filter) { remove_filter($filter, "wp_filter_kses"); } foreach (array("term_description") as $filter) { remove_filter($filter, "wp_kses_data"); }

Но не все знают азбуку HTML, новичкам будет сложно разобраться во всех командах по заданию цвета, отступа и др., поэтому на помощь придет плагин Rich Text Tags, скачать его можете по этой ссылке .

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

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

Убирается такой заголовок ссылок очень просто, достаточно в файл functions.php добавить следующий код:

function removeTitle($str ) { $str = preg_replace ("#title="[^"]+"#" , "" , $str ) ; return $str ; } add_filter("wp_list_categories" , "removeTitle" ) ;

function removeTitle($str){ $str = preg_replace("#title="[^"]+"#", "", $str); return $str; } add_filter("wp_list_categories", "removeTitle");

Все вышеперечисленное я внедрил на одном из своих сайтов, который до сих пор находится под АГС Яндекса, надеюсь, подобная оптимизация рубрик позволит снять фильтр, увеличит приток посетителей и уменьшит показатель отказов.

На этом все, до скорых встреч!

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

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

Как видите, в них действительно отображаются отрывки статей. Тем самым в категориях WordPress образовывается неуникальный контент. Поэтому многие закрывают такие страницы от индексации. Я считаю, это в корне неправильно. Мы теряем "такие" сладкие страницы, в которых полно "веса", полученных от внутренних ссылок. Мы ведь помним про хлебные крошки:

да и про меню не забыли:

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

  • как прописать метаданные для рубрик;
  • как разместить уникальный текст в категориях.

Для начала, конечно, вы подбираете ключевые слова для всех этих посадочных страниц. Если у кого-то проблемы с этим, рекомендую узнать как подбирать ключевые слова, зачем вбивать метаданные и т.п. в уроке " ".

Как прописать метаданные для рубрик

На самом деле все просто. Нам нужно всего лишь установить самый лучший SEO плагин - . После его установки и настройки (как правильно настроить, рассказывал в уроке по ссылке выше) заходите "Админка -> Записи -> Рубрики -> Любая категория".

  1. Тут задается Title для рубрики.
  2. В этом месте задаем Description.
  3. Здесь прописываются Keywords.

Как вывести уникальный текст в рубриках WordPress

Вставка кода в файл темы

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

Открываем файл archive.php или category.php (то есть, файл, который отвечает за вывод рубрик), там ищем следующий код:

И после него (если хотите разместить после вывода записей) вставляем этот код (его я взял отсюда):

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

Размещение текста

Сам же текст разместить тоже очень просто. Заходим снова в "Админка -> Записи -> Рубрики -> Любая рубрика" и там находим раздел "Описание". Заполняем его и смотрим результат:

Сохраняем и смотрим результат (просто заходим на сайте в любую рубрику):

Тут, конечно, нужно "поиграться" со стилями, сделать соответствующий фон. Вы можете разместить текст перед выводом записей, поэкспериментируйте с размещением кода. Для некоторых случаев подойдет первый вариант, для некоторых второй.

Сложность размещения статьи заключается в том, что вам нужно писать текст в "голом" html режиме. Ниже пример, обратите внимание, как выводится заголовок h1, как ссылка:

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

И еще: мне иногда приходилось добавлять шорткоды в эти тексты, выводимых в рубриках. Чтобы их вывести, просто вставляем этот код в functions.php:

Add_filter("term_description", "shortcode_unautop"); add_filter("term_description", "do_shortcode");

Как видите, вывести описание в рубриках WordPress очень просто. Подобное я давно реализовываю на клиентских сайтах, наступило время дойти и до своих. Ох сколько текстов нужно подготовить. 🙂

Будут проблемы - пишите! Решим. Всего доброго!

Рубрики сортируют и объединяют записи в группы постов по заданной тематике. Это помогает пользователю искать нужную информацию на сайте.
Для создания контента на WordPress используйте два инструмента - записи и страницы. Страницы имеют статичный характер и подходят для размещения информации, которая редко меняется: «Контактов », «О нас », «Услуги ». Записи же имеют динамичный характер и показывают информацию в режиме блога. Создать рубрики можно только для записей.

В этой статье рассмотрим:

Видео-инструкция по созданию рубрики на WordPress

Как создать новую рубрику

«Uncategorized » (рус. «Без категории ») - рубрика, которая создается по умолчанию. Каждый новый пост автоматически публикуется в этой рубрике.

Перейдите в административную консоль WordPress.
Чтобы создать новую рубрику, зайдите в меню «Записи » на панели инструментов слева и выберите раздел «Рубрики ».

В строке «Название » укажите название первой рубрики «История ».

Содержание в строке «Ярлык » отображается в адресной строке пользователя при переходе в данную рубрику. Назовите «Ярлык » our-history. Рекомендуем писать название маленькими латинскими символами и использовать дефис вместо пробела и нижнего подчеркивания. Так как многие плагины для WordPress не учитывают русские символы, из-за этого работают некорректно.

Нажмите кнопку «Добавить новую рубрику ».

Таким же образом создайте вторую рубрику с названием «Поддержка » и укажите ярлык «support ».
Третья рубрика уже создана по умолчанию, измените ее на необходимую нам «Услуги ». Чтобы отредактировать рубрику «Uncategorized », наведите курсор мыши на рубрику, выберите ссылку «Свойства ». Измените название на «Услуги », ярлык — «services ». Нажмите кнопку «Обновить рубрику ».

Обновите сайт и обратите внимание, что название рубрики «Uncategorized » изменилось на «Услуги ». Сейчас все записи находятся в рубрике «Услуги ». Созданные рубрики «Поддержка » и «История » не отображаются на сайте, так как пока не содержат контента.

Как создать подрубрику

Для примера, добавим в рубрику «Услуги » две подрубрики: «Хостинг » и «SSL-сертификаты ».
Чтобы создать подрубрику «Хостинг », создайте рубрику и в названии указываем «Хостинг », ярлык — hosting. Затем в выпадающем списке «Родительской рубрики » выберите «Услуги ». То есть рубрика «Хостинг » становится подрубрикой родительской «Услуги ». Для сохранения нажмите кнопку «Добавить новую рубрику ».

Аналогичным образом создайте подрубрику «SSL-сертификаты ».

Как добавить записи в рубрики

Чтобы добавить записи в рубрику, зайдите в меню «Записи Все записи ».

Для примера, мы создали записи: «Новые выделенные серверы », «Новые SSL-сертификаты высшего уровня безопасности », «Теперь мы доступны 24/7 в режиме онлайн » и «О нашей компании ».

Новость о том, что в ассортименте хостинговых услуг прибавились новые выделенные серверы, добавьте в подрубрику «Хостинг » рубрики «Услуги ».

Наведите курсор мыши на название записи и нажмите ссылку «Свойства ». Поставьте галочки напротив нужных рубрик и нажмите кнопку «Обновить ».

Аналогично распределите оставшиеся записи по подходящим рубрикам.

Перейдите на сайт и обратите внимание, что все рубрики отображаются на странице сайта.

Как настроить отображение подрубрик на сайте

Чтобы рубрики отображались в виде иерархии, зайдите в меню «Внешний вид » на панели управления слева и выберите раздел «Виджеты ». Виджет «Рубрики » установлен по умолчанию в большинстве тем в SideBar. SideBar — область сайта слева или справа от основного контента (боковая колонка), на которой с помощью виджетов можно расположить дополнительные элементы: рубрики, последние посты, формы подписки на рассылку, баннеры, последние комментарии, виджеты соцсетей и другое.

Разверните вкладку «Рубрики », поставьте галочку напротив «Отображать иерархию » и нажмите кнопку «Сохранить ».


На картинке ниже увидите, что подрубрики «SSL-сертификаты » и «Хостинг » теперь отображаются в виде иерархии.

Чтобы указывалось количество статей, которое содержится в рубрике, поставьте галочку напротив функции «Отображать число записей » виджета «Рубрика ». Число записей будет выведено рядом с названием рубрики. Нажмите кнопку сохранить.

Возвращает

false/строку. HTML код если echo=1 . Если echo=0 вернет HTML код в переменную для дальнейшей обработки.

Использование

Шаблон использования

$args = array("show_option_all" => "", "show_option_none" => __("No categories"), "orderby" => "name", "order" => "ASC", "style" => "list", "show_count" => 0, "hide_empty" => 1, "use_desc_for_title" => 1, "child_of" => 0, "feed" => "", "feed_type" => "", "feed_image" => "", "exclude" => "", "exclude_tree" => "", "include" => "", "hierarchical" => true, "title_li" => __("Categories"), "number" => NULL, "echo" => 1, "depth" => 0, "current_category" => 0, "pad_counts" => 0, "taxonomy" => "category", "walker" => "Walker_Category", "hide_title_if_empty" => false, "separator" => "
",); echo "
    "; wp_list_categories($args); echo "
";

Аргументы передаваемые параметру $args

child_of(число) Показать дочерние категории. В параметре указывается ID родительской категории (категория, вложенные категории которой нужно показать). current_category(строка/массив)

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

С версии 4.4. в этот параметр можно передавать массив ID.
По умолчанию: ""

Depth(число)

Этот параметр контролирует глубину вложенности категорий, которые будут показаны. По умолчанию 0 - показывать все уровни вложенности (все дочерние категорий). С версии 2.5.

  • 0 - все уровни вложенности (По умолчанию);
  • -1 - показать все дочерние категории, но без вложенности li списков. Отменяет параметр hierarchical ;
  • 1 - показать только категории первого уровня (все виды вложенных категорий не будут показываться);
  • n - число - глубина вложенности которую нужно показывать. 2 - покажет категорий первого и второго уровня.
echo(логический)

Выводить на экран или возвращать для обработки.

  • 1 (true) - да, выводить на экран;
  • 0 (false) - нет, просто возвратить данные.

По умолчанию: true

Exclude(строка)

  • Если этот параметр указан, параметр child_of будет отменен.
  • Если параметр heiararchical=true , то будет исключаться вся ветка. Если heiararchical=false , то для исключения ветки используйте параметр exclude_tree .

По умолчанию: ""

Exclude_tree(строка) Исключить дерево категорий из списка. Указывайте ID категорий через запятую. Параметр include должен быть пустым. Если параметр heirarchical=true , то используйте exclude вместо exclude_tree .
По умолчанию: "" include(строка) Вывести списком только указанные категории. Указывать нужно ID категорий через запятую.
По умолчанию: "" hide_empty(логический)

  • 0 (false) - показывать пустые (не скрывать);
  • 1 (true) - не показывать пустые категории (скрывать).

По умолчанию: 1

Hide_title_if_empty(логический) Нужно ли прятать $title_li если в списке нет элементов. С версии 4.4.
По умолчанию: false (всегда будет показываться) hierarchical(логический)

  • 1 (true) - да, древовидный тип отображения;
  • 0 (false) - нет, показать сплошным типом.

По умолчанию: true

Order(строка)

Направление сортировки:

  • ASC - по порядку, от меньшего к большему (1, 2, 3; a, b, c);
  • DESC - в обратном порядке, от большего к меньшему (3, 2, 1; c, b, a).

По умолчанию: "ASC"

Orderby(строка)

Сортировка списка по определенным критериям. Например по количеству постов в каждой категории или по названию категорий. Доступны следующие критерии:

  • ID - сортировка по ID;
  • name - сортировка по названию (по умолчанию);
  • slug - сортировка по алт. имени (slug);
  • count - по количеству записей в категории;
  • term_group - по группе.

По умолчанию: "name"

Separator(строка) Разделитель между элементами. С версии 4.4.
По умолчанию: "
"
show_count(логический)

Показывать/нет количество записей в категории. Число записей будет показано после названия категории в скобках (например, Психология (16)).

  • 1 (true) - показывать количество записей;
  • 0 (false) - не показывать количество записей.
show_option_all(строка)

Текст для отображения всех категорий.

Если передать не пустую строку, например "Все категории" , то в список будет добавлена ссылка на все категории (часто это ссылка на главную страницу блога). Текстом ссылки станет текст переданный параметру, в данном случае Все категории.
По умолчанию: ""

Show_option_none(строка) Если функция не нашла ни одной категории для показа, то будет показан этот текст.
По умолчанию: "Нет рубрик" style(строка)

Стиль вывода списка.

  • list - означает, что нужно выводить списком в теге
  • , вложенность категорий будет соблюдена.
  • none - будут выведены только ссылки на категории () разделенные тегом
    .

По умолчанию: "list"

Taxonomy(строка) Название таксономии, которую нужно обрабатывать.
По умолчанию: "category" title_li(строка) Установить заголовок списка. Если изменить этот параметр на "" (title_li=), то заголовок не будет выводиться вовсе.
По умолчанию: "Категории" use_desc_for_title(логический)

Вставлять ли описание категории в атрибут title у ссылки (

По умолчанию: true

Number(число) Установить максимальное количество отображаемых категорий (SQL LIMIT). По умолчанию выводится без ограничений.
По умолчанию: "" pad_counts(логический) Считать общее количество постов во вложенных категориях и показывать это число рядом с родительской категорией. Параметр включается автоматически при включенных show_count и hierarchical .
По умолчанию: 0 (false) feed(логический) Показать ли рядом с названием ссылку на RSS фид (rrs-2) категории. Текст переданный в этом параметре станет текстом ссылки.
По умолчанию: "" feed_type(строка) Тип фида
По умолчанию: "rss-2" feed_image(строка) Показать ли рядом с названием ссылку-картинку на RSS фид (rrs-2) категории. В параметре нужно указать ссылку на картинку. Если этот параметр указан, параметр $feed будет отменен.
По умолчанию: "" walker(объект) Расширение объекта (класса), который предназначен для создание списка категорий. Передаваемый параметру объект - это расширение для класса Walker_Category или Walker .
По умолчанию: "Walker_Category"

Примеры

#1 Сортировка по алфавиту

Для того, чтобы отсортировать категории по алфавиту (orderby=name) и включить в список только категории с ID равными 16, 3, 9 и 5 (include=3,5,9,16), можно использовать следующий код:

#2 Сортировка по названию

Следующий пример сортирует категории по названию (orderby=name), показывает количество записей в каждой категории (show_count=1) и исключает из списка категорию с ID 10 (exclude=10):

#3 Уберем заголовок списка категорий

С помощью обнуления параметра title_li . По умолчанию этот параметр равен __("Categories") , если установить его в null или "" , заголовок списка не будет показан вообще. Следующий пример исключает категории 4 и 7, и убирает заголовок списка категорий:

#4 Выводим только указанные рубрики

Этот пример покажет список только из категорий с ID 9, 5 и 23, и изменит заголовок списка на Поэзия, который будет заключен в теги

:

    " . __("Poetry") . "

"); ?>

#5 Выведем только дочерние категории

Для того, чтобы вывести только категории вложенные в категорию 8 (child_of=8) и отсортировать их по ID (orderby=id), так же показать количество записей в каждой категории (show_count=1) и убрать из атрибута title описание категорий (use_desc_for_title=0) используйте следующий вызов функции wp_list_categories:

#6 Удалим скобки, в которые обрамляется количество записей в каждой категории

Для этого получим список категорий в переменную (echo=0) и пропустим её через php функцию str_replace() , которая удалит скобки:

Категории"); $cats = str_replace(["(",")"], "", $cats); echo $cats; ?>

#7 Покажем список категорий со ссылкой на RSS-ленту

Для этого используем параметр feed=RSS , так же в этом примере список будет отсортирован по названию категорий (orderby=name) и у каждой категории будет показано количество записей (show_count=1):

#7.1 Если нужно показать ссылку-картинку вместо текста ссылки RSS фида, то используем параметр feed_image:

#8 Выводим список произвольной (пользовательской) таксономии

С версии 3.0 стало возможно выводить списки произвольных таксономий через параметр taxonomy . Так же в этом примере показывается как передавать параметры не строкой, а массивом:

"genre", // название таксономии "orderby" => "name", // сортируем по названиям "show_count" => 0, // не показываем количество записей "pad_counts" => 0, // не показываем количество записей у родителей "hierarchical" => 1, // древовидное представление "title_li" => "" // список без заголовка); ?>

#9 CSS классы для стилизации li списка

CSS Классы создается автоматически функцией wp_list_categories() . Начальное обрамление (в тег ul) задается произвольно, поэтому класс списку можно задать произвольный. А для li тега используются следующие css классы:

Li.categories { ... } /* общий селектор */ li.cat-item { ... } li.cat-item-7 { ... } /* Рубрика с ID 7 */ li.current-cat { ... } li.current-cat-parent { ... } ul.children { ... }

Заметки

Добавленные параметры в разных версиях:

  • 2.3.0 - echo
  • 2.5.0 - depth
  • 2.6.0 - current_category
  • 2.7.1 - exclude_tree
  • 2.9 - pad_counts
  • 3.0 - taxonomy
  • 4.4 - hide_title_if_empty и separator . current_category стал не обязательным

Список изменений

С версии 2.1.0 Введена.
С версии 4.4.0 Introduced the hide_title_if_empty and separator arguments. The current_category argument was modified to optionally accept an array of values.

Код wp list categories : wp-includes/category-template.php WP 5.2.2

0, "current_category" => 0, "depth" => 0, "echo" => 1, "exclude" => "", "exclude_tree" => "", "feed" => "", "feed_image" => "", "feed_type" => "", "hide_empty" => 1, "hide_title_if_empty" => false, "hierarchical" => true, "order" => "ASC", "orderby" => "name", "separator" => "
", "show_count" => 0, "show_option_all" => "", "show_option_none" => __("No categories"), "style" => "list", "taxonomy" => "category", "title_li" => __("Categories"), "use_desc_for_title" => 1,); $r = wp_parse_args($args, $defaults); if (! isset($r["pad_counts"]) && $r["show_count"] && $r["hierarchical"]) { $r["pad_counts"] = true; } // Descendants of exclusions should be excluded too. if (true == $r["hierarchical"]) { $exclude_tree = array(); if ($r["exclude_tree"]) { $exclude_tree = array_merge($exclude_tree, wp_parse_id_list($r["exclude_tree"])); } if ($r["exclude"]) { $exclude_tree = array_merge($exclude_tree, wp_parse_id_list($r["exclude"])); } $r["exclude_tree"] = $exclude_tree; $r["exclude"] = ""; } if (! isset($r["class"])) { $r["class"] = ("category" == $r["taxonomy"]) ? "categories" : $r["taxonomy"]; } if (! taxonomy_exists($r["taxonomy"])) { return false; } $show_option_all = $r["show_option_all"]; $show_option_none = $r["show_option_none"]; $categories = get_categories($r); $output = ""; if ($r["title_li"] && "list" == $r["style"] && (! empty($categories) || ! $r["hide_title_if_empty"])) { $output = "
  • " . $r["title_li"] . "
      "; } if (empty($categories)) { if (! empty($show_option_none)) { if ("list" == $r["style"]) { $output .= "
    • " . $show_option_none . "
    • "; } else { $output .= $show_option_none; } } } else { if (! empty($show_option_all)) { $posts_page = ""; // For taxonomies that belong only to custom post types, point to a valid archive. $taxonomy_object = get_taxonomy($r["taxonomy"]); if (! in_array("post", $taxonomy_object->object_type) && ! in_array("page", $taxonomy_object->object_type)) { foreach ($taxonomy_object->object_type as $object_type) { $_object_type = get_post_type_object($object_type); // Grab the first one. if (! empty($_object_type->has_archive)) { $posts_page = get_post_type_archive_link($object_type); break; } } } // Fallback for the "All" link is the posts page. if (! $posts_page) { if ("page" == get_option("show_on_front") && get_option("page_for_posts")) { $posts_page = get_permalink(get_option("page_for_posts")); } else { $posts_page = home_url("/"); } } $posts_page = esc_url($posts_page); if ("list" == $r["style"]) { $output .= "
    • $show_option_all
    • "; } else { $output .= "$show_option_all"; } } if (empty($r["current_category"]) && (is_category() || is_tax() || is_tag())) { $current_term_object = get_queried_object(); if ($current_term_object && $r["taxonomy"] === $current_term_object->taxonomy) { $r["current_category"] = get_queried_object_id(); } } if ($r["hierarchical"]) { $depth = $r["depth"]; } else { $depth = -1; // Flat. } $output .= walk_category_tree($categories, $depth, $r); } if ($r["title_li"] && "list" == $r["style"] && (! empty($categories) || ! $r["hide_title_if_empty"])) { $output .= "
  • "; } /** * Filters the HTML output of a taxonomy list. * * @since 2.1.0 * * @param string $output HTML output. * @param array $args An array of taxonomy-listing arguments. */ $html = apply_filters("wp_list_categories", $output, $args); if ($r["echo"]) { echo $html; } else { return $html; } }