Рубрики и категории 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
Mag, посмотрел на сайте все ок, видимо я поздно заметил комментарий и вы все сделали? Рубрики выводить нужно просто функцией в файле шаблона — для шапки сайта это header.php.
Tod, да, уже решилась проблемка) в Header всего-то нужно было сменить страницы на категории)
Но все равно спасибо за то что откликнулись) Прекрасный сайт!
Я хочу поинтересоваться: возможно ли поместить страницу в выпадающее меню, которое отображает рубрики сайта. То есть в главном меню отображаются несколько страниц: Главная, О сайте, Фото, Работы.
Работы в свою очередь раскрываются и показывают рубрики работ: Сайты, Логотипы итд. Необходимо в это меню запихать статичную страницу Фото, чтобы она показывалась наравне с другими рубриками.
Sergey, чтобы объединить ссылки на страницы и категории в одном меню нужно использовать соответствующий раздел wordpress — https://wpinsideblog.com/beginners/menu-wordpress3/
Забыл сказать, что используется версия 2.8
подскажите, кто-нибудь, как сделать, чтобы запись не относилась ни к одной из рубрик? чтобы она была, но не рубрике, а сама по себе (по ссылке находилась)
Ольга, насколько я знаю, обязательно нужно назначить какую-то рубрику либо будет установлена по умолчанию. Если хотите без рубрик — создавайте страницы.
Такой вопрос: как сделать, чтобы при наведении курсора на рубрику выпадало меню со списком постов, которые содержатся в этой рубрике?
Вадим, либо плагин поиска, либо скрипт какой-то нужно прикрепить, точно также чтобы работал как выпадающее меню через css. То есть нужно выводить последние посты категории а потому уже для них делать обработку через css и скрипты дабы эффект выпадения был.
Подскажите, кто хорошо разбирается в коде, вот есть такой кусок, который выводит список страниц под шапкой:
‘top_menu’, ‘sort_column’ => ‘menu_order’, ‘container_class’ => ‘menu-header’ ) );
}
else wp_list_pages();
?>
Хочу заменить на вывод рубрик, но менял pages на categories, но результата нет…
Семен, судя по коду, выводится меню, которое находится в разделе «Внешний вид» — «Меню». Если ничего нет, то выводятся страницы. Может потому wp_list_categories и не срабатывает.
Хаха))
Искал ответ на свой вопрос и нашел его в комментариях)
Действительно, чтобы выводить категории вместо страниц, нужно сделать меню в категории «Внешний вид» – «Меню».Без всякого изменения кода вручную- все силами самого wp. Если у Вас, Семен, будут подрубрики, делайте их тоже все в том же создании меню.
А Вам, Tod, огромное спасибо)
Подскажите пожалуйста, в шапке выводятся: страницы, категории и подкатегории. Т.к. подкатегорий много, очень неудобно и некрасиво. Хочу чтобы подкатегории не отображались в шапке. В header.php не нашел wp_list_categories. Установлен WordPress 3.2.1
Андрей, попробуйте добавить в функцию параметр depth и указать для него значение 0 — по идее, это должно не выводить подкатегории.
Tod, спасибо за ответ, но к сожалению не очень разбираюсь в функциях (чего и куда), был бы благодарен за пример или другую помощь.
Андрей, в статье имеются некоторые примеры использования функции — поставьте их в блог и посмотрите что получится, в каждом из примеров свои параметры определены — внимательно посмотрите на используемую функцию. Так вот к этим параметрам можно добавить depth, что-то вроде:
Как сделать родительский пост ?
Привет , вот 2 дня прошло не могу понять как делать родительский пост вот они примеры поста ,
1-сам пост hipstrumentals.com/2011/11/kid-ink-like-a-g-instrumental-hook/
2-вот родительский пост hipstrumentals.com/2011/11/kid-ink-like-a-g-instrumental-hook/kid-ink-ft-travis-porter-like-a-g-instrumental/
друзья помогите пожалуйста , это мне казалось логично как вы думайте ?
Dastan, родительскую категорию или страницу сделать можно, а вот пост — не встречал такого. И не вижу смысла делать родительским именно пост — пост это запись, по иерархии выше нее категория.
Подскажите пожалуйста я создал 4 рубрики и в них создал разные записи, но в итоге какую бы я не открыл рубрику показывается вся лента опубликованных записей????
Андрей, возможно это ошибка simple tags о котором я говорил в другой статье, где вы оставили комментарий. Если же нет, тогда это какой-то глючный шаблон и нужно попробовать идущий по умолчанию — если и там ошибка, тогда уже нужно детальнее разбираться.
Ребят, помогите пожалуйста.
Пытаюсь вставить баннер-картинку в левый сайдбар. Вставляю ее в настройках темы таким образом:
— Перетаскиваю Блок «текст» на панель и в нем указываю адрес картинки::
либо:
<img src="/wp-content/themes/jogging_theme_wp/images/banner.gif»>
На главной странице все отображается без проблем, но как только стоит мне попасть на страницу какой-либо рубрики, то все картинки пропадают из-за того, что wordpress добавляет к адресу изображения ссылки названий категорий.
Допустим, адрес должен быть
http://localhost/clinic/wp-content/themes/jogging_theme_wp/images/banner.gif
Но на страницах категорий ссылка меняется на:
http://localhost/clinic/category/diagnostika/wp-content/themes/jogging_theme_wp/images/banner.gif
Почему так происходит и как этого избежать ?
Вот, сделал скриншот для наглядности если кто вдруг не понял все равно.. http://plasmon.rghost.ru/31381981.image
Дмитрий, пишите полный URL для картинки начиная с http…
Уже пару дней читаю ваш блог, у меня задача на которую я не нашел решения)
Суть такая, у создал ряд рубрик, в них под рубрике в несколько уровней, главные рубрике вынесены на отдельные страницы и имеют свой стиль!!!
параллельно я создал ряд статей которые по УРЛ одинаковые с вторым уровнем категорий….
я хочу получить список статей на первом уровне, статью на втором, и в этой статье вывести список под категорий которые в той категории что скрыта за статьей… я думаю вы знаете что вордпресс сперва ищет статью, и когда не находит, список ставит рубрики…
Вопрос, как получить список дочерних рубрик имея только название рубрики в виде УРЛа?)))
Надеюсь правильно расписал)))) заранее благодарю за ответ)))
Андрей, если честно ничего не понял:) Тут скорее нужно самому разбираться, я бы пошел на codex.wordpress.org и поискал подобную функцию, начал бы с wp_list_categories а там внизу страницы есть связные функции. Вообще думаю лучше чтобы название статей и категорий не были одинаковые.
term_id;
if($id>0){
wp_list_categories(‘child_of=’.$id.’&title_li= &style=none’);}
?>
Тод, я так решил… но со стороны программиста это неудачное решение)))
Категории и статьи для того и названы одинаково чтоб замещать друг дружку)))
Иллюзия многоуровневого сайта))) Спасибо что ответили)
Здравствуйте. Подскажите, можно ли реализовать следующую задачу: Есть основная рубрика, допустим Кино, есть, соотв. подрубрики Ужасы, Триллеры, Детективы etc. Дерево в сайтбаре выглядит примерно так
Кино (9)
Ужасы (3)
Детективы (3)
Триллеры (3)
можно ли как-то организовать вывод кол-ва записей в рубриках так, чтобы основное количество не показывалось, то есть, чтобы в итоге выглядело вот так:
Кино
Ужасы (3)
Детективы (3)
Триллеры (3)
(но в Кино так же можно было перейти, как и в остальные рубрики)
Спасибо)
Begemot, насколько могу судить по функции, просто сделать нельзя. Есть 2 пути — переписать (дописать) как-то функцию или схитрить — выводить в шаблоне название категории через HTML потом использовать функцию для отображения подкатегорий, где в параметрах задать мол отображать все категории по «кино».
Здравствуйте! Подскажите, почему в разных рубриках отображаются все записи?
Кто нибудь сталкивался со следующим?>>>
Нужно сделать в основное меню (горизонтальное) вывод рубрик, а в дополнительное (тоже горизонтальное, но ниже — под ним) вывод подрубрик? (соответствующих нажатой рубрике).
Пример, где выбрана рубрика «Напитки»:
МЕНЮ1 (рубрики) первое | второе | >напитки< | закуски
МЕНЮ2 (подрубрики) пиво | водка | компот
Соответственно, когда выбраны "закуски", во втором меню отображается "Огурцы | сало | хлеб"
Очень большое спасибо за помощь! Заранее.
Антон, в некоторых темах встречал подобное выпадающее меню, можно установить себе такой шаблон и посмотреть как там все реализовано.