Рубрики и категории 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
Здравствуйте. Как сделать так, что родительская категория не будет иметь ссылки на себя…? то есть у меня идет вывод категорий с под категориями, и мне нужно что бы родительский категории были просто текст без ссылок,это как то возможно реализовать?
Подскажите пожалуйста, как сделать, чтобы при открытии рубрики не открывались анонсы статей ее подрубрики. Т.е. анонсы рубрики не и подрубрики показывались отдельно.
Петр, вопрос, конечно, интересный, только вот я с ним никогда не сталкивался. Единственное, что приходит на ум это поэкспериментировать с циклом (loop) и функцией query_posts — возможно там есть какой-то параметр для исключения постов подкатегорий. Но, если честно, не удивлюсь, если это сделать не удастся.
Привет.
Подскажи ка…
Как вставить ключевые слова в рубрики. Какой плагин использовать для этого?
А если без плагина, то как?
На почту ответь пожалуйста.
Спасибо!
amtorio, по теме у меня было 2 статьи, который вам пригодятся — Облагораживаем страницы меток и тегов в wordpress и Category SEO Meta Tags – МЕТА данные для категорий и тегов.
Как сделать, чтобы в определенной категории(рубрике), записи отображались не анонсами а полностью и только в этой категории(рубрике). В моем случае категория юмор — хочу, чтобы фото были в полный маштаб и шли по порядку сверху вниз, а не шахмоткой! За ранее спасибо!
Владимир, для реализации всего этого придется основательно подправить шаблон — во-первых, добавить условие «если категория такая-то» с помощью функции is_category, то выводить полный текст заметок, а не сокращенный. Потом надо будет разбираться с шаблоном отображения дабы выводилось так, как вам нужно. Готового кода нет — вам потребуется самостоятельно его создать или поискать примеры в сети (возможно, все же кто-то подобное рассматривал).
Здравствуйте. Вот вроде всё правильно сделал на своем блоге, рубрики отображаються так, как надо, но при переходе по ним ничего не происходит, т.е. страница с записями тех постов, к которым относится категория не открывается. В чем проблема, не подскажите???
arestarx, возможно дело в htaccess или какой-то глюк закрался, сложно подсказать так по общему описанию. Проверьте ссылки которые отображаются в списке категорий и те, которые формируются системой, посмотрите в админке в настройках раздел Постоянные ссылки, обновите там структуру. Нужно искать причину ошибки.
TOD, вот нашел часть кода. Но не совмем понимаю, что делать дальше. Я не знаю как прописать вывод записей в развернутом виде?
post;
if (in_category(‘1′)) {
include(TEMPLATEPATH . ‘/single-news.php’);
} elseif (in_category(‘8′)) {
include(TEMPLATEPATH . ‘/single-game.php’);
} else {
include(TEMPLATEPATH . ‘/single-video.php’);
}
?>
Владимир, данный код в зависимости от выбранной категории 1,8 или остальные — выводит тот или иной шаблон. Общий код отображения страницы категории, как правило, находится в файле archives.php — можете скачать шаблон попроще и посмотреть там что именно выводится в этом файле.
Когда я нажимаю на статью в рубрике, она открывается не полностью, пара предложений и такой знак в конце […], как его убрать? хочу чтобы полностью статья открывалась, а не малая его часть, приходиться на заголовок нажимать чтобы открылась полностью, не очень удобно.
Артём, это больше похоже на то как отображаются список статей при переходе в категорию — тогда да, действительно нужно кликать по заголовку + есть […] как признак того что статья не полностью, мол читайте дальше. Но если такое показывается вместо самой статьи, то это какой-то глюк шаблона, я бы посмотреть single.php — в общем нужно разбираться.
Есть такой шаблон http://ru-wordpress.com/imbalance/. Как в нем можно сделать отображение подрубрик в меню в шапке, чтобы при клике на название рубрики так же выезжали названия подрубрик? Все уже перерыл и никак не могу сделать :(
Александр, ну это выпадающее меню, которое делается с помощью CSS, как правило. Если нет навыков в верстке, то проще найти шаблон, где это меню с рубриками уже реализовано — я такие видел.
как сделать так, что бы рубрики выводились не в алфавитном порядке?
на сколько я заметил, оно выводит именно так: 1.Англ.названия.2.Русские, заглавные буквы в алфавитном порядке.
очень нужна помощь в этом.
Dok, обратите внимание на параметр функции orderby — можно задать вывод по slug или количеству постов. Если хотите создать абсолютно независимый список категорий вручную, то создаете меню а потом в него в каком угодно порядке добавляете категории.
Здравствуйте. У меня есть 3 категории в каждой по 2 записи. Но когда перехожу на сайте в каждую из категорий вижу там все 6 элементов. При создании записей галочки с нужной рубрикой выставлены. Что это может быть? Раньше такого не было
Михаил, если раньше работало, а потом перестало, то скорее всего это глюк какого-то из плагинов — когда-то подобное наблюдал при WordPress 3.1 и новом Simple Tags. Нужно поочередно проверить все плагины отключая и подключая пока не найдете ошибку.
У меня возникла следующая проблема: существует набор категорий(родительских) с подкатегориями(дочерними). Одна из родительских категорий исчезла из дерева категорий, ее дочерние категории в дереве остались, став самостоятельными. При этом на сайте бывшая родительская категория и ее дочерние работают как и прежде. Проблема в том. в рамках панели администрирования невозможно организовать новую дочернюю категорию в бывшей родительской.
Людмила, сложная какая-то ситуация, похоже на какой-то глюк с базой данных. Можно зайти в базу через phpmyadmin (уточняйте у хостера) и восстановить старую родительскую категорию — на 99% она имеется в базе данных просто с пометкой deleted (удалена), поэтому просто нужно изменить этот параметр.
Я тоже плохо понимаю, что произошло, так как пропавшая (не отражающаяся в панели администрирования родительская категория) на сайте тем не менее есть( т.е. не удалена) и работает в полном согласии с дочерними категориями, т.е. она отсортировывается из категорий одного уровня иерархии со всеми своими дочерними подкатегориями.
здравствуйте. подскажите,как сделать чтобы при нажатии на рубрику отображалась вся запись целиком с картинками и ссылками, без сокращений «Читать далее..» ?
Руслан, в файле шаблона, который отвечает за категории (либо это index.php либо category.php) найти вывод постов… если отображается короткий анонс, то возможно там указана функция the_excerpt — так вот нужно заменить ее на the_content(»). Ну и при этом в тексте постов не должно быть разбиения на читать далее то есть тега more.
Доброго времени суток. Помогите пожалуйста. Столкнулся с проблемой. В записях текст отображается нормально а вот в рубрике отображается не отредактированным ( большие пробелы между текстом итд) В записях нормально текст отредактировал а в рубрике «Игры» все равно белеберда какая то.Сайту всего лишь месяц так что Яндекс еще не проиндексировал через Google пожалуйста
Дмитрий, возможно, используются разные варианты отображения анонсов постов — the_content (сохраняет форматирование), the_except (без форматирования) — посмотрите файлы главной index.php или home.php и сравните их с категорией archives.php, category.php. Не исключено также, что разница отображения задается через стили style.css.
Здравствуйте, помогите, пож, такая проблемка: когда заходишь в рубрику, все статьи выходят с одним и тем же названием. Что делать?
Спасибо
Айша, ну, я так понимаю что это проблема шаблона — посмотреть что там в файла category.php или archives.php и поискать ошибку. Для этого конечно нужно разбираться, но иначе никак. Или поискать другой шаблон.
Здравствуйте! Не могу найти нигде решение своей проблемы. Суть в том, что в подменю все слова отображаются с большой буквы. Например, вместо текста «Фото и видео продукции» в подменю отображается «Фото И Видео Продукции». Тема Colorway. Подскажите, в каком файле подправить какой параметр?
Спасибо!
У меня вопрос. После попытки уладить нумерацию в АРХИВе (нумерация была как на главной. Например всего 11 страниц, а в архиве «новости» их 4 страницы, но пишет все равно 11 и остальные выводит как Not Found.) столкнулся с другой бедой. Теперь любая категория/рубрика выводит все записи. То есть не группирует их. Выходит меняется только адрес сайта а записи показываются все подряд как на главной. В чем может быть беда?