Рубрики и категории 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 (4,00 из 7, голосов - 43)
- Умный копирайт в footer.php для wordpress (5,63 из 7, голосов - 30)
- Обновление плагинов и тем в WordPress: автоматическое, через FTP, скрытие уведомлений (5,13 из 7, голосов - 30)
- Polylang — плагин для мультиязычных сайтов на нескольких языках в WordPress (4,33 из 7, голосов - 30)
- Рубрики и категории wordpress, функция wp_list_categories (6,05 из 7, голосов - 20)
- Плагин TinyMCE Advanced – wordpress текстовый редактор (6,32 из 7, голосов - 19)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
- Особливості MMORPG ігор (зокрема Lineage 2) та чому люди в них грають
- Казино MonoSlot — бонусная система
- Порядок подключения wi-fi роутера к ноутбуку
Next2501, за сортировку отвечает параметр orderby — можно по ID, алфавиту. Для последней 3.0 версии системы можешь почитать статью создание и управление меню в wordpress 3.0.
А как можно сделать чтобы у рубрик были иконки? Мне нужно все одинаковые иконки для рубрик сделать а как не знаю, желательно без плагина, а вручную…
Спасибо, Tod за статью. Она оказалась весьма кстати! Как раз пробовал сейчас создать скрытую категорию со скрытыми постами, но плагин Advanced Category Excluder не совсем справился с задачей, удалив все что только, но оставив рубрику в списке рубрик на главной. Я уж было начал головой о стенку биться… :)… но тут наткнулся на Вашу статью и, используя функцию wp_list_categories с параметром exclude=ID записи, добился поставленной цели! :))) Еще раз спасибо!
добрый день, у меня установлен WP 3 и нигде там не могу найти wp_list_categories не подскажите где именно он находится? Или как именно в этой версии можно изменить количество выводимых постом именно в категориях а не на главной! Спасибо!
Dmitri, функция wp_list_categories нигде не находится, она просто есть:) То есть ее можно использовать и добавлять в шаблон блога. Тем не менее, если я правильно понял комментарий, то вам поможет статья — разное количество записей на страницах блога в wordpress.
Здравствуйте. Такой вопрос: у меня, если выбрать какую-то категорию на сайте, то выводятся посты этой категории, но отображается только лишь текст в посте. Как сделать, что бы отображались и фотографии?
Заранее спасибо.
Владимир, зависит от того как эти фотографии «добавлены на страницу». Вам полезно будет почитать статьи: получение и отображение первой картинки поста и превью для постов в wordpress.
Я переношу сайт html на WP, поэтому стала задача сохранить структуру. С окончаниями разобрался как поставить(.html). А вот как поставить сайт.ru/запись.html, по умолчанию все записи записываются в рубрику «новости» и получается запись, типа сайт.ru/новость/запись.html
Возможно ли изменть что-то?
Alexinger, все зависит от того как вы разобрались с html, нужно было зайти в раздел постоянные ссылки установить структуру ссылки /%postname%.html/ — чуть более подробно об этом и другом читайте и смотрите в статье SEO оптимизация WordPress блога.
Приветствую! Спасибо за статью, но возникает вопрос — как разделить все рубрики на две разных группы? В них будут пересекаться записи, каждый пост будет в одной группе рубрик и во второй по одному разу. К примеру, пост встречается в первой группе в рубрике «реклама духов» и во второй группе рубрик в рубрике «телереклама». Соответственно обе группы рубрик надо разделить и выводить в разных местах. Не подскажете как это сделать?
у меня похожий вопрос (как и у Rapidmann) — возможно ли разные рубрики публиковать на разных страницах сайта
Rapidmann, Denizzka, то есть посты добавляются в разные категории, которые нужно выводить в блоге? Нужно почитать 2 статьи блога — WordPress цикл (loop) – выводим сообщения блога и как выводить список последних сообщений выбранной категории — внимательно посмотрите на примеры, что-то подобное нужно будет реализовать и у себя.
Добрый день!
Подскажите, пожалуйста, как можно сделать вывод рубрик и категорий, как на сайте kinomania.ru/movies/b…eles/index.shtml. Смысл в том, что там для определенного фильма выводится информация из разных рубрик, но относится она только к данному фильму.
mrmagic, как сделать не знаю, там вообще wordpress установлена? я бы почитал про таксономию — с ее помощью можно что-то похожее организовать, я пока что до этого не дошел.
Добрый день. У меня такой вопррос, возможно немного не по теме.
Как сделать свой sidebar в каждой отдельной рубрике.
То есть, чтобы в рубрике1 и во всех записях этой рубрики был sidebar1, в рубрике2 и во всех записях этой рубрики был sidebar2 и тд.
Алекс, однозначного и готово ответа не существует — нужно будет самому разбираться и пробовать, но могу подсказать в каком направлении я бы двигался. Во-первых, следует почитать про добавление нового блока виджетов с помощью которого создаем sidebar1, sidebar2, sidebar3 и т.п. Дальше в шаблоне index.php, где вызывается sidebar ставим if условие с помощью функции in_category — http://codex.wordpress.org/Function_Reference/in_category
Добрый день!У мня вопрос:Мне нужно чтоб в сайтбаре1 и в сайтбаре2 отображались разные посты!Когда я добавляю запись в рубрику сайтбара1 то все посты из сайтбара1 тоже отображаются в всайтбаре2.Как это можно устранить?
Алексей, возможно, вам поможет статья про список последних сообщений выбранной категории — то есть в сайдбаре1 будут выводиться одни посты, в сайдбаре2 другие.
Добрый день!
Я делаю сайт-визитку на WP3.1, использую 2 меню — вертикальное и обычное горизонтальное (под шапкой). Соответственно, в одном используются страницы, в другом — рубрики.
Подскажите, пожалуйста, как сделать, чтобы при наведении курсора на название рубрики не всплывало сообщение о количестве в ней постов? Мне нужно, чтобы кнопки обоих меню отображались одинаково, словно все они — страницы.
Добрый день!Объясню поподробнее У меня в сайтбаре стоят категории и в них есть уже посты разбиты на рубрики.но мне нужно чтоб и в сайтбаре2 были тоже рубрики с категориями но совсем другие.когда добавляешь через виджет в сайтбар2 рубрики ,они одни и те же вставляются с сайтбара1.Я уже разбил категории с правой стороны теперь хочу чтоб были еще и с левой стороны.но не как у меня не получается.
Снимаю свой вопрос!
Два дня мучилась, но решение нашлось. Меня смущала запись в админке в разделе Меню: Ваша «тема» поддерживает 1 меню. Поэтому пыталась использовать и страницы, и рубрики. Но сейчас выяснила, как часть статичных страниц показывать в одном меню, а вторую часть в другом.
Алексей, через виджеты эот сделать не получится, там выводятся абсолютно все категории, так что нужно детально изучить функцию wp_list_categories и сделать все вручную в php файлах сайдбаров.
Tod, хотелось бы спросить. Есть меню wp_nav_menu, структура такая:
Главная
Лента
Рубрика 1
Рубрика 2
Рубрика 3
Как в nav_menu вывести количество статей в рубриках? Можно ли как то использовать list_categories?
swede2k, в функции wp_list_categories есть опция show_count которая выводит количество записей, с ней и нужно поэкспериментировать в файле шаблона.
Я это все прекрасно знаю. Но как добавляя рубрики в меню, сделать так, чтобы выводилось кол-во статей в рубрике? :)
swede2k, количество статей в рубрике выводит опция show_count=1, которую нужно указать при вызове функции wp_list_categories в файле шаблона.
Статья очень понравилась.Нашел все что нужно,особенно нужно было это:
.Но с разьяснением появились и вопросы:как мне формить это чтобы не в списках было а в таблице???В каком файлики надо покапаться?
Кирилл, судя по описанию функции, сделать в таблицах с ее помощью не получится. То есть можно убрать параметр style дабы выводилось не списком, но не более того.
Помогите разобраться плиз . Когда добавляю запись , отношу её к какой либо рубрике . Все рубрики у меня отображаются в верхнем меню блога. Когда по ним переходишь , информация соответствующих записей не отображается. Вопрос № раз : как сделать чтобы запись отображалась в соответствующей ей рубрике . Вопрос № два : как убрать отображение в верхнем меню названий рубрик . ( хочу их раместить в правом меню )???
Вера, если для записей блога указаны те или иные рубрики, то при переходе по ним должны отображаться соответствующие посты. Если этого не происходит — где-то ошибка в шаблоне блога. Чтобы убрать рубрики из верхнего меню нужно в файле шаблона header.php (скорее всего) найти фрагмент использования функции wp_list_categories и удалить ее (если рубрики выводится через эту функцию). Точный ответ дать не могу, разные шаблоны по разному работают.