Рубрики и категории wordpress, функция wp_list_categories
Для каждого поста и записи wordpress пользователь может задавать одну или несколько рубрик (категорий). Эта возможность позволяет сгруппировать близкие по смыслу записи и предоставить возможность посетителям читать и просматривать только те рубрики, которые им нравятся. Например, когда я создавай свой основной блог Tod’s Blog, то собирался писать обо всех нюансах интернета — начиная с дизайна и заканчивая программированием. Допустим, человек пришел из поисковика на статью про wordpress и захотел бы почитать про систему еще больше – ему пришлось бы рыться в архивах, повторно использовать поиск либо просматривать все посты подряд. Разумеется, этого всего можно было избежать, зайдя в специальную категорию под названием wordpress. Или, например, для те, кто увлекается лишь дизайном, могла быть интересна рубрика wordpress темы для блога.
Если внимательно посмотрите на шапку блога, то можете увидеть своего рода меню, где рубрики wordpress выступают в роли разделов проекта. Как по мне, это достаточно удобный и наглядный способ разделения тематики записей.
Для управления категориями wordpress существует несколько механизмов. Во-первых, создание и редактирование всех категорий производится в разделе «Записи» пункт «Рубрики».
В самом центре страницы вы увидите форму для добавления новой категории. Здесь нужно указать ее название (имя), ярлык (часть ссылки url для чпу), родительскую категорию (если такая есть), а также можно задать краткое описание. Родительская категорий позволяет создавать в 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 что-то вроде «просмотреть все записи в рубрике ….», можно вместо этого просто оставить название рубрики — читаем статью по ссылке выше.
комментариев 319 к статье “Рубрики и категории wordpress, функция wp_list_categories”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Записи и посты wordpress, оформление записи (5,91 из 7, голосов - 47)
- Проблема с адаптивными изображениями в Gutenberg редакторе WordPress (3,86 из 7, голосов - 49)
- Умный копирайт в footer.php для wordpress (5,63 из 7, голосов - 30)
- Обновление плагинов и тем в WordPress: автоматическое, через FTP, скрытие уведомлений (5,19 из 7, голосов - 31)
- Polylang — плагин для мультиязычных сайтов на нескольких языках в WordPress (4,42 из 7, голосов - 31)
- Плагин TinyMCE Advanced – wordpress текстовый редактор (6,35 из 7, голосов - 20)
- Рубрики и категории wordpress, функция wp_list_categories (6,05 из 7, голосов - 20)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
Добрый день, заинтересовал момент про отображение подрубрик заданной рубрики: как можно динамически получить id текущей рубрики, чтобы указать в качестве параметра child_of?
А как можно вручную задать порядок отображений категорий в шапке? Не по ID или имени, а в своем порядке? ни где не могу найти…
Blogpressa, внимательно посмотри параметры функции wp_list_categories, там есть include, в котором ты перечисляешь все ID категория для отображения.
Тод привет. Может я чего-то не дочитал, пятница, ем рыбу и пью пиво, хотел спросить кое чего….
есть сайтец, не кручусь абсолютно, все по нч трафу. ___OpticsToday.com Если не интересно, то можешь глянуть. Вопрос таков : у меня корневая рубрика содержит несколько подрубрик, каждая подрубрика аналогично. Хотел спросить, есть ли у тебя домысел или идея, как сделать когда жмакаешь на рубрику — шел список подрубрик, а не посты по дате добавления из всех подрубрик. Спасибо.
П.С. Тод, сколько часов в день за монитором?
Саня, единственное, что приходит в голову и самое простое — это создать несколько страниц на которых были бы подрубрики и на которые можно ссылаться. Другой вариант — править файл архива категорий дабы вместо постов выводились подрубрики — но это неправильно с точки зрения «логики работы wordpress», где выводится именно контент — посты и статьи при вы боре рубрики.
П.С. Много:)
Здравствуйте, скажите, а возможно ли как-то выводить
Список рубрик в перемешку с постами, т.е:
Рубрика 1:
посты
посты
посты
Рубрика 2:
посты
посты
посты
Дмитрий, выводить можно, тут нужно, конечно, покопаться в коде и знать какие функции использовать. Самый простой метод, который сейчас приходит на ум, это скачать любой шаблон в стиле magazine и посмотреть как там все реализовано — они на главной часто выводят статьи из разных категорий.
Спасибо!
Реализовал через страницы, а не через посты.
1) Для порядка страниц использую стандартную опцию WP
2) Для поддержания выпадения меню использую «RYO Folding Page List» плагин
3) Чтоб реализовать переход на первую подстраницу, при нажатии на родительскую страницу, использовал отдельный шаблон для станицы и функцию PHP header(); путь, в котрой конечно приходится ручками менять для каждого языка.
Может кто знает как автоматом получить ссылку на первую дочернюю страницу, из шаблона родительской страницы? Тогда все бы работал вообще супер.
4) Ну и в конце подключил WPML и организовал такую же структуру на английском языке!
Вот так получилось )
Есть ли грубые ошибки?
упс. первый комментарий ссылку вывел. Извиняюсь, не хотел. В общем, можно ли внутри тега «a» вставить еще span?
Demetr, судя по всему, базовыми методами нельзя, то есть в функции такого параметра нет.
А меня больше интересует кусок style.css, в котором описано оформление списка категорий
Ктонить поделитесь куском кода, plzzz :)
А как на одной странице вывести по два последних поста из каждой рубрики?
привет всем! скажите пожалуйста кто знает как сделать допустим категорию..»африканские джунгли и пляжи» а хочу чтоб в шабе отображалось только «джунгли африки» КАК так сделать? в дле это сделать пару сек, а здесь как сделать… кто нить сможет подсказать?
У меня такой вопрос — можно ли добавить произвольный текст в самое начало определенной рубрики. Например, чтобы после Рубрика «123» шел произвольный текст, а потом уже записи этой рубрики. Спасибо заранее
Тод, а сделать рубрики в виде облака, как теги — это можно без плагов? Вот у Димокса в сайдабре (в табах): dimox.name — именно в виде облака да ещё с выводом количества записей в рубрике (да ещё в нижнем индексе): какой задать параметр для этого?
С тегами я справилась с грехом пополам, а рубрики пока не даются.. :((
Подскажите, а как сделать чтобы на главную страницу выводились только посты с одной какой-нибудь категории?
Спасибо, полезный пост! :)
Статья очьень понравилась, а вопросик можно? Как изменить размер анонсов записей отображаемых в категориях? Например — открываю категорию, в ней анонсы -5 записей по 10 строк, а я хочу, чтобы отображалось 20-30 строк в каждом анонсе. Только доходчиво плиз, если можно :)
Игорёк, чтобы выбирать в ручную размер отображаемого поста можно использовать ссылку читать далее в wordpress (тег more). Можно, в принципе, через PHP получать через функцию the_excerpt анонс поста, а потом отрезать, например, по 300 символов.
Добрый день! Очень понравился ваш пост, но у меня есть вопрос. Мне нужна сортировка по кол-ву записей в данной рубрике, но она у меня не работает. Пишу в функции <?php wp_list_categories('orderby=count&show_count=1&title_li=Категории’); ?> , ничего не меняется, жму в виджете опцию «Показать иерархию», опять же ничего не происходит, поставил плагин My Category Order — ничего не изменилось. Пробовал на двух разных темах. Подскажите, пож-та, что я не так делаю? Как я понял, код в виджет.пхп ничего не меняет, т.к. я там написал, к примеру, <?php wp_list_categories('orderby=count&show_count=1&title_li=тратата’); ?> , а Категории остались Категориями.
Денис, по симптомам что-то ты не туда добавляешь, виджет.пхп здесь вообще не при чем, нужно заходить в файлы шаблона, например sidebar.php для сайдбара или хедэр и там добавлять вывод категорий.
Я описался, не в виджет.пхп писал, а, конечно же, в sidebar.php
Поставил блог на денвере на другой версии вп, пробовал опять же писать опции руками, т.е. , ничего не изменилось, а поставил виджет «Категории» и там сделал сортировку по количеству записей, тогда сортировка заработала.
Меня вот ещё какой момент интересует. Я поставил какую-то тему на только что созданный блог, категории уже были, хотя в виджеты я их не добавлял, а в sidebar.php была строчка . Т.е. идёт вывод рубрик без виджета. Я подумал, а что если мне оставить строку в sidebar.php основной темы, а в виджетах убрать Рубрики, так и сделал, но рубрики вообще пропали. Так вот, задался я вопросом, как вывести рубрики без виджета, т.е. какой функцией. Я хотел попробовать выводить Рубрики через виджет «Произвольный html текст», но функции я не знаю. Может быть вы знаете, какой функцией можно вывести категории?
Денис, тут закралась какая-то неточность. В данном посте указана функция которая работает без виджетов, я вообще их почти никогда не использую. Если ты добавить в сайдбар какой-то из примеров функции wp_list_categories то должны появиться категории (если они в блоге есть). Только внимание, добавлять в сайдбар нужно не в блок виджетов — там есть часть кода (проверка IF) которая смотрит есть ли виджеты и их выводит.
Спасибо за помощь! Сортировка работает правильно. Моя ошибка была в том, что я вызывал функцию в блоке проверки, где вообще ничего не отображается, не считая функций, который должны.
Пойду теперь настраивать стиль моих Категорий.
P.S. Отличный блог, отличный автор.
Спасибо статейка очень помогла то , что искал как раз
Помогите разобраться, пожалуйста!
Создаю сайдбар из страниц. Использую параметр include, но при этом мне надо, чтоб выводились и все подстраницы страниц, указанных в include. Как мне такое реализовать?
Сейчас код такой:
<?php wp_list_pages('show_count=0&include=13,24,32,title_li=Разделы’); ?>
Виджит уже сделала не активным, так что изменения в коде правильно сказываются на сайдбаре
наталья, нужно использовать параметр child_of, который выводит именно подстраницы. Но он не совместим с include, то есть что-то одного можно применить.
У меня вопрос: при наведении на ссылку рубрики всплывает длинное предложение («default — просмотреть все записи рубрики …»), где это можно подредактировать? Спасибо
reader, обновил пост, добавив ссылочку на интересующий вас хак — https://wpinsideblog.com/tips/list-categories-title/ (относительно недавно рассматривал эту же задачу).
Доброго дня. Есть такой вопрос:
А возможно ли управлять выводом списка категорий, у меня они выводятся сортируясь по алфавиту…по этому при добавление новой рубрики «Новости» спускаются в низ.
Если решение…Заранее спасибо….