Рубрики и категории 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,93 из 7, голосов - 44)
- Умный копирайт в 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
Благодарю за быстрый ответ! Вот и сама не пойму, что за глюк… Поищу пост-невидимку :) А где происходит подсчет количества постов в категории и запись полученного числа в БД?
Юлия, за все это отвечают функции вордпресс, которые находятся в системных файлах. Вероятность того, что ошибается сама вордпресс минимальна. Если все это очень критично для вас то механизм исправления следующий. Установить систему заново / обновить, залив новые файлы вордпресс на ФТП хостинг, установить базовую тему (шаблон), убрать все плагины и создать виджет с подсчетом количества постов — посмотреть все ли правильно. Если не правильно, то проблема в базе данных где-то, если править, то постепенно наращивать функциональность — изменить шаблон на ваш и проверить результат, а потом вернуть все плагины и опять проверить результат. Так найдете шаг, на котором появляется ошибка.
Спасибо! Буду искать.
Спасибо вполне доходчиво написано, теперь стало понятно для чего нужны рубрики.
Здравствуйте.
Очень хорошая и содержательная статья. Спасибо. Могли бы вы мне помочь в следующей проблеме?
На сайте записи в блоге публикуются нормально. Рубрика 1С:БП 3.0 и подчиненные ей подрубрики. выведены в меню сайта.
В записях указано, что они принадлежат той или иной подрубрики. Однако ссылки на записи в подрубриках не отображаются.
Заранее спасибо.
Владимир, тут нужно смотреть шаблон. Как правило отображение категорий задается в archive.php (если если нет archive.php, то код нужно искать в index.php). Если вы используете сторонний шаблон, то скорее всего удалили нужный код, так как в теме записи категорий должны выводиться. Сообщения выводятся через функцию query_posts. Обычно можно посмотреть как это работает в index.php и реализовать это в archive.php.
Судя по всему, у вас на всех страницах отображается одна и та же информация под меню — вы не до конца настроили шаблон. Внимательно читайте инструкцию по нему.
Спасибо за ответ. Попробую разобраться.
Спасибо, пригодилось. Не знал как убрать название «рубрика». Составляю карту сайта для людей.
Добрый день, подскажите пожалуйста.
Вопрос не совсем касаемо рубрик, но касаемо категорий товаров в интернет магазине (по-сути те же рубрики насколько я понимаю). Так вот стоит задача редактировать описание категории (шрифт, межстрочный интервал и пр.) каким образом это возможно сделать? Спасибо.
Иван, все графическое оформление меняется за счет стилей CSS в style.css или других файлах. Узнайте какие классы отвечают за тот или иной блок/текст и меняйте для них стили.
Ребята, помогите, подскажите как в WordPress управлять одновременнно несколькими товарами, например сразу неколько продуктов удалить или сразу нескольким поменять цены. Напишите плиз — nutella4@yandex.ru
Анна, непонятно как именно у вас идет наполнение товара, через какой плагин вордпресс. Исходя из этого уже нужно искать информацию в сети, если это например через woocommerce, то одно решение, если другой модуль то другое.
Пробовал сделать чтобы в каждом разделе было разный сайтбар, ничего не вышло(
Zawer, нужно погуглить функции in_category и is_category — они помогут проверить находится ли пост в нужном разделе. Пример кода можно глянуть тут.
Ситуация такая Категории обрамлены тегом ul
Подскажите пожалуйста как тегу ul задать свой класс? где что нужно прописать чтобы добавить класс для ul
Алексей, в параметрах функции возможности указать класс я что-то не вижу, поэтому вам придется внешний класс и уже отталкиваться от него.
Добрый день. Пытаюсь сделать фотосайт. На главной странице должны отображаться 6 изображений — основные рубрики (портрет, пейзаж, натюрморт,…), при входе в рубрику должны отображаться изображения-подрубрики (портрет на улице, портрет в студии, арт-портрет), а в подрубриках уже непосредственно фотографии. Но почему-то все подрубрики хотят вылезти на главную страницу, как это исправить. Заранее спасибо.
Михаил, все зависит от того как именно вы выводите рубрики на главной, я так понимаю делается это не функцией wp_list_categories. Есть 3 мысли на этот счет. Если это классический шаблон, то тут нужно нужно копать в сторону WP_Query — вот тут есть про wordPress цикл (loop) и как исключать из главной категории (включать можно, убрав минус). Второй вариант — найти фотошаблон, такие есть специально под фотоблоги — можно использовать его или посмотреть на реализацию. Третий — установить плагин для фотогалереи и с помощью PHP функций выводить на главной (home.php) эту галерею.
Здравствуйте, я бы реализовал плагином, есть же все.
У меня на главной странице в рубрике популярное отображаются одни новости а на других страницах совсем другие — уже несколько недель так(на главной стали отображаться новости от 22.02.2015) до этого было все как в настройках. Помогите что делать…
Alex, нужно разбираться в плагинах/виджетах, которые выводят эти самые популярные новости — главное отображение немного другое, там точно одинаковые модули используются? может один считает популярность по просмотрам, а второй — как-то по другому.
Там стоит виджет — дисплей популярные сообщения, последние сообщения и теги в закладках.
Alex, может установлено кеширование и результаты не обновляются, хотя визуально там какие-то совсем разные новости. Нужно вам разбираться с этим виджетом, может установить другой модуль.
Спасибо, буду пробовать…. http://mixxnews.ru/
Скажите пожалуйста, как сделать категории товара в меню, как в bonprix
Леонид, для такого меню нужно поискать/написать соответствующий скрипт, а категории добавлять туда проще через HTML нежели с помощью функции wp_list_categories.
Здравствуйте!
Существует стандартный виджет, который выводит все категории и подкатегории woocommerce (все и сразу)… На сайте есть очень разветвленная структура категорий и подкатегорий. Хотелось бы иметь возможность выводить какую-то конкретную группу подкатегорий. Существует ли такой плагин?
P.S. На самом деле, мне все это дело надо запихнуть в меню. Решил использовать плагин Ubermenu, т.к. он позволяет вставлять в меню виджеты. Если есть какое-то другое решение, буду очень признателен.
Игорь, с таким плагином я не сталкивался, но не исключаю, что он есть — для WooCommerce вроде как много плагинов. Может быть даже можно вывести эти категории как-то через функции — нужно гуглить в англоязычных блогах. Хотя, если найденный вами Ubermenu полностью устраивает, то и его можно оставить.
Ubermenu??? Игорь, уточните пожалуйста, нет результатов поиска!
Tod, Ubermenu меня как раз полностью устраивает.
А не устраивает стандартный виджет Woocommerce «Категории товаров». Мне нужно выводить не весь список категорий, а только список дочерних подкатегорий какой-либо одной выбранной родительской категории… Подобного плагина не нашел.(
Может быть есть возможность, как-то подредактировать стандартный виджет?