Вывести только определенную рубрику

Вывод записей из рубрик WordPress без плагина

Приветствую вас, дорогие читатели!
В моей прошлой статье я рассказывала о том, как можно просто вывести записи из определённых рублик при помощи плагина. Этот способ достаточно удобный, но для его реализации нужно устанавливать дополнительный плагин, а это не очень хорошо.

Так как большое количество плагинов во-первых влияет на скорость загрузки вашего сайта, а во-вторых это делает ваш сайт более уязвимым.

Я не говорю что плагины это плохо, но перегружать ими сайт однозначно не стоит!
В данной статье я покажу вам ещё один простой способ вывоза записей из рубрики без использования плагина.

Для этого способа нам нужно будет вставлять специальный код в определённое место шаблона. Если вы никогда раньше не работали с кодом шаблона и не имеете представления о структуре шаблона wordpress, то для вас этот способ будет намного сложнее чем первый и я бы не советовала его использовать.

В какой файл вставлять код?

Если вам нужно вывести рубрики только на главной, и в качестве главной страницы вы не назначали какую то определённую страницу, то данный код вам нужно будет вставлять в шаблон index.php в папке вашей темы.

Читайте также:  Как вывести с участка хвощ полевой

Если ваша тема предполагает что для главной страницы выбирается определённы шаблон, то код нужно будет вставлять в файл данного шаблона.

Если нужно сделать вывод статей из определённой рубрики на всех страницах сайта, то код вставляем в шаблон page.php.

В какое место шаблона вставлять код?

Так как данный фрагмент кода содержит в себе цикл, то его нужно вставлять до или после основного цикла wordpress, который выводит контент самой страницы.

Можно это сделать почти в самом конце шаблона перед кодом:

Источник

Как вывести посты по рубрикам на отдельной странице в WordPress

Продолжаем рассматривать вопросы кастомизации рубрик. В этой статье мы научимся работать не только с выводом данных самих категорий, но и записей которые к ним привязаны.

Суть задачи – это вывести названия рубрик или отдельной рубрики на странице WordPress. Возникает вполне логичный вопрос для чего это нужно, ведь есть шаблон категории? Все правильно, но с точки зрения seo оптимизации шаблон категории не очень подходит для продвижения рубрик, его можно допилить с помощью произвольных полей, но можно использовать альтернативный подход – это вывод записей категории на странице WordPress.

Чем рубрика отличается от страницы? В первую очередь – это наличие возможности задать seo теги, такие как title и description даже при подключении бесплатных версий seo плагинов. Во-вторых – это возможность добавить описание с форматированием текста, привязать картинку. Все это также можно сделать на странице категории, но в данной статье мы рассмотрим пример использования шаблона страниц для этих целей.

Создание шаблона страницы

Для начала вам нужно создать шаблон страницы, который мы будем использовать для вывода наших рубрик.

Для этого нужно зайти в папку с вашей темой по адресу: wp-content/themes/your_theme/. Для этого можно воспользоваться либо ftp клиентом, либо же панелью хостинга. Если вы новичок лучше перед началом работ сделайте бэкап сайта.

1. В корневой папке темы создаем файл, например category-page.php.

2. В ней же находим файл page.php и копируем его содержимое в файл category-page.php. Я использую дефолтную тему twentynineteen, и буду показывать на ее примере, вам же нужно учитывать html разметку вашего шаблона и копировать ваш код из файла page.php, внося изменения которые я покажу ниже.

3. Делаем из файла category-page.php шаблон страницы с помощью следующего кода.

4. Сохраняем. Идем в админку сайта в раздел «Страницы» — «Добавить новую». Указываем заголовок страницы, и справа в блоках настройки выбираем вкладку «Атрибуты страницы». В ней из выпадающего списка с названием «Шаблон», выбираем название шаблона которое мы задавали выше.

5. Сохраняем. Теперь можно работать с шаблоном и задавать код для вывода нужной нам информации на этой странице.

Задача 1. Вывести рубрики или отдельную рубрику на странице в WordPress.

Для этих целей мы будем использовать функцию get_categories(). Дополнительно мы зададим аргументы для этой функции. Вы в свою очередь можете более детально ознакомиться с этой функцией в этой статье.

Здесь указан код для работы со всеми категориями, присутствующими на сайте. Если вы хотите ограничить этот параметр и вывести одну рубрику, то в поле ‘include’ приведенного выше кода задайте id рубрики. Узнать его можно перейдя в админке в раздел «Записи» — «Рубрики», справа нажимаем на нужную рубрику и переходим на страницу ее редактирования. Сверху, в строке браузера вы сможете увидеть ее id.

Переходим в файл category-page.php и редактируем его содержимое следующим образом.

Как видно, вверху файла добавлен вызов функции get_categories() с аргументами, а ниже цикл перебора категорий подходящих под заданные нами параметры.

У вас должен получиться примерно такой результат.

Задача 2. Как вывести записи из рубрик на страницу в WordPress.

Для решения этой задачи будет использоваться класс WP_Query<>. Для вывода постов рубрики также задаем список аргументов, которые укажут параметры выборки. Опять открываем наш файл category-page.php и добавляем в него код для вывода записей.

Теперь нужно задать какую информацию о посте нужно выводить, обычно это ссылка с названием поста. Финальный код для вывода записей по рубрикам.

Вот результат работы данного кода.

Чтобы вывести записи из определенной категории достаточно указать значение id для категории в аргументах к функции get_categories().

Аналогично данный код можно использовать для вывода категорий с постами и на главной странице сайта на WordPress. Только редактировать нужно будет файл index.php, который находиться в корневой папке вашей темы.

Используем плагины

Если вы не хотите создавать шаблоны и работать с кодом, тогда вы можете поставить один из многих плагинов с репозитория WordPress, которые помогут вам реализовать приведенный выше функционал. Есть целый ряд готовых решений, которые отличаются дизайном, количеством настроек и немного функционалом, например: List category posts, The Post Grid, Post Grid, WP Show Posts.

Для примера я покажу, как можно использовать плагин WP Show Posts.

1. Идем в админку, меню «Плагины» — «Добавить новый». Ищем в строке поиска название плагина «WP Show Posts». Устанавливаем и активируем его.

2. Слева в меню у вас появиться пункт «WP Show Posts». Переходим в него.

3. Сверху нажимаем «Add new».

4. На первой вкладке настроек можно выбрать: тип записи, таксономию (например, после выбора категории появиться список созданных вами категорий), количество постов и чекбокс для включения пагинации.

5. Вторая вкладка это выбор разметки, где можно задать количество колонок и отступы между ними.

6. Далее идут настройки изображений, и вывода контента записи, где вы можете задать длину краткого описания и тег для ссылки заголовка поста.

7. Вкладка meta. Позволяет указать выводить ли автора, дату, категорию и количество комментариев к каждому посту.

8. More settings включают в себя настройки по сортировке данных для вывода.

Задаем заголовок, указываем настройки и жмем справа опубликовать. Копируем шорткод справа в блоке «Usage».

После этого переходим в раздел «Страницы» — «Добавить новую». Указываем ее название, а в редакторе Gutenberg выбираем блок Шорткод, куда вставляем скопированный ранее код. Сохраняете и проверяете результат работы.

На этом сегодня все. Я постарался показать, как сделать страницу рубрикой WordPress плагином или же без плагинов с помощью кода. Надеюсь, материал был для вас полезен.

Источник

SEO Маяк

Блог Виталия Кириллова | Все о создании,
продвижении сайтов и заработке в интернете

Создание и продвижение сайтов, заработок в интернете

wp_list_categories() — как выводить рубрики WordPress

Всем привет! Сегодня на seo-mayak.com мы будем разбирать функцию wp_list_categories() , которая отвечает за вывод рубрик на WordPress.

Рубрики есть на большинстве сайтах, будь то коммерческие проекты или личные блоги и поэтому данная статья будет полезна многим веб-мастерам.

Известно, что рубрики или категории, как угодно, разбивают сайт на разделы. Заголовки данных разделов выводятся в виде меню на боковой панели сайта (сайдбаре) или в шапке, а в некоторых темах рубрики можно найти даже в подвале. Как они там оказываются?

Конечно в админке есть интерфейс виджетов, с помощью которых можно вывести меню на экран. Но я спрашивал не об этом!

Как там оказываются заголовки разделов и ссылки на них? Ведь мы же их там не прописывали. Вот об этом мы и будем сегодня с Вами говорить.

В WordPress заложено несколько функций, которые так или иначе, касаются вывода рубрик, но самая используемая из них — это wp_list_categories() .

Функция имеет массу настроек и уверен, что каждому, даже самому зеленому вебмастеру, не лишнем будет знать, как работает данная функция. Поехали!

Функция wp_list_categories()

Для начала я хочу сказать несколько слов об иерархической цепочке функций WordPress по работе с рубриками, где wp_list_categories() занимает не самое первое место.

Функция wp_list_categories() — это, так сказать, дочерняя функция, т.е. она работает на основе другой функции, а именно get_categories(), которая в свою очередь тоже имеет своего родителя — функцию get_terms().

В данной статье я не стану описывать всю анатомию взаимодействия вышеупомянутых функций, оставлю данную тему будущих постов, так что подписывайтесь на обновления блога , будет интересно!

Достаточно будет просто иметь представление о том, что процесс вывода рубрик — это сложное, многоступенчатое программное действо, которое в долю секунды осуществляется благодаря совместной работе нескольких php функций.

Функция wp_list_categories() — это конечный пункт сего действа, так сказать, продукт готовый к употреблению, поэтому работать с данной функцией довольно просто, если знать как устроена функция и какие аргумента она может принимать.

Теперь, для наглядного примера, возьмем стандартный виджет «Текст» и вставим в него функцию wp_list_categories() . Должно получится так:

Сохраняем и идем смотреть результат:

Вот так функция wp_list_categories() формирует вывод рубрик по умолчанию. Даже заголовок есть!

А теперь давайте разберемся, какие аргументы может принимать функция.

Все аргументы функции wp_list_categories()

В данном шаблоне приведены все аргументы которые может принимать функция.

Это шаблон! Не надо его никуда вставлять!

Итак, давайте пройдемся по всем аргументам и рассмотрим их на конкретных примерах. Приступим.

Значением данного аргумента может быть любой текст, который будет выведен первым пунктом в общем списке рубрик в качестве ссылки на главную страницу. Например:

По умолчанию: нет.

C помощью аргумента orderby можно сортировать вывод рубрик, в зависимости от его значений. Вот список значений:

ID — Сортировка будет осуществляться по ID родительских рубрик, начиная с 1 и по возрастанию;
name — Сортировка будет осуществляться по названию родительских рубрик, согласно алфавиту;
slug — Сортировка будет осуществляться по ярлыкам родительских рубрик, согласно алфавиту;
count — Сортировка будет осуществляться по количеству записей;
term_group — Сортировка по группе.

Давайте рассмотрим пример сортировки по количеству записей в рубриках, дополнительно используя аргумент show_count:

По умолчанию: name.

Данный аргумент отвечает за направление сортировки. Возможные значения:

ASC — сортировка в обычном порядке (от меньшего к большему);
DESC — сортировка в обратном порядке (от большего к меньшему);

Здесь есть один момент, который я хотел бы отметить. Рубрики без подрубрик окажутся в вверху списка не зависимо от количества записей:

По умолчанию: ASC.

С помощью этого аргумента можно задавать разделитель между ссылками. Действует только если значение аргумента: ‘style’ установлено ‘none’ .

С помощью этого аргумента можно задавать html структуру для меню рубрик.

list — Структура html для рубрик будет формироваться с использованием тегов

    и
    ;
    none — Список рубрик будет выведен в виде обычных ссылок. Если не изменено значение аргумента: ‘separator’ , то перенос строк будет осуществляться с помощью тега
    (вложенность подрубрик будет соблюдена).

По умолчанию: list.

Определяет показывать или не показывать количество записей в рубриках.

1 — Будет выводится количество записей в каждой рубрике;
0 — Количество записей выводится не будет.

Определяет включать или не включать в меню пустые рубрики.

1 — Пустые рубрики будут скрыты;
0 — Пустые рубрики будут включены в список.

Для каждой рубрики можно сделать описание (description). Если такое описание существует, то с помощью данного аргумента его можно встроить в html код.

1 — Описание (если оно есть) будет встроено в html код;
0 — Описание встраиваться не будет.

В качестве значения для аргумента child_of служит ID родительской рубрики, из которой надо вывести все дочерние категории. Допускается указывать только один ID.

Добавляет к названию каждой рубрики ссылку на rss-канал. В качестве значения задается текст, который и будет отображаться.

Не знаю использовал ли кто-нибудь данный аргумент, по мне, так он лишний.

По умолчанию: нет.

Указывает на тип фида.

По умолчанию: rss-2.

В качестве значения этого аргумента задается ссылка на изображение, которое будет выводится рядом с названием каждой рубрики, при этом аргумент feed перестает действовать.

По умолчанию: нет.

Аргумент exclude позволяет исключать одну или несколько рубрик из списка по их ID, при этом действие аргумента child_of (если он указан) будет отменено.

Если исключить родительские рубрики, например с ID 10 и 14:

В этом случаи будут исключены все дочерние рубрики, относящиеся к родителям с вышеупомянутыми ID.

Чтобы этого не произошло, в значении аргумента hierarchical надо установить 0, при этом дерево рубрик будет отключено.

Если hierarchical равен 0, то для исключения всей ветки используется аргумент exclude_tree.

По умолчанию: нет.

C помощью данного аргумента можно исключить из списка дерево одной или нескольких рубрик. В значении указывается ID одной или нескольких рубрик через запятую.

Если значение аргумента hierarchical равно 0, то используется аргумент exclude, вместо exclude_tree.

По умолчанию: нет.

Аргумент include позволяет вывести в меню только указанные рубрики. ID рубрик перечисляется через запятую.

Рубрики выводятся в точно соответствии с ID , т.е. если указать ID родительских рубрик, дочерние рубрики выведены не будут.

По умолчанию: нет.

Позволяет выводить дочерние категории в виде вложенного списка (дерева).

1 — выведет древовидный список рубрик.
0 — выведет рубрики сплошным типом, при этом родительские рубрики будут исключены.

Устанавливает заголовок для списка рубрик. В качестве значения указывается текст.

По умолчанию: Рубрики.

В том случаи, если по запросу не будет найдено ни одной рубрики, будет выведен указанный тест.

По умолчанию: Нет рубрик.

В данной аргументе можно установить лимит на отображение рубрик. Например:

Будет выведено 5 рубрик.

По умолчанию: нет.

Применения данного аргумента позволяет возвращать html код списка рубрик или выводить его на экран.

0 — Возвращать данные для дальнейшей обработки;
1 — Выводить список рубрик на экран.

Определяет глубину вложенности рубрик.

0 — Будут выведены все уровни рубрик без ограничений;
-1 — Будут выведены все уровни, но без дерева (сплошным типом). Отменяет аргумент hierarchical;
1 — Будут выведены рубрики только первого уровня. Все дочерние категории исключаются.
n — Произвольное числовое значение глубины вложенности рубрик для вывода на экран.

Интересный аргумент, позволяющий добавлять css класс current-cat к определенной рубрике. В обычном режиме такой класс добавляется к текущей рубрики и в основном применяется для подсветки. Также данный класс используется в php скриптах для удаления циклических ссылок.

В качестве значения указывается ID рубрики или нескольких рубрик через запятую.

По умолчанию: текущая рубрика.

Суммирует количество записей в дочерних рубриках и выводит результат в родительскую рубрику.

1 — выводит количество записей в родительскую рубрику;
0 — количество записей не выводится.

Значение 1 устанавливается автоматически при использовании show_count=1 и hierarchical=1 .

Определяет выводить или не выводить заголовок списка рубрик если нет ни одной записи.

0 — выводить заголовок;
1 — не выводить заголовок.

В качестве значение указывается название таксономии, рубрики которой будут выведены на экран. Незаменимый аргумент для вывода таксономий произвольных типов записей.

По умолчанию: category.

Аргумент принимает расширение объекта (класса), который предназначен для создание списка категорий. Передаваемый аргументу объект — это расширение для класса Walker_Category или Walker.

По умолчанию: Walker_Category.

Функция возвращает: HTML-контент, только если аргумент «echo» равен 0.

Встроенные CSS классы для тегов li и ul

Хуки функции

В работу функции можно вмешаться с помощью одноименного хука-фильтра wp_list_categories :

Живой пример использования хука можно посмотреть в статье Сквозные ссылки.

Таблица изменений

Версия Дата Описание
2.1.0 22.01.2007 Внедрение
2.3.0 24.09.2007 Введен аргумент echo.
2.5.0 29.03.2008 Введен аргумент depth.
2.6.0 15.07.2008 Введен аргумент current_category.
2.7.1 10.02.2009 Введен аргумент exclude_tree.
2.9.0 19.12.2009 Введен аргумент pad_counts.
3.0.0 17.06.2010 Введен аргумент taxonomy.
3.4.0 13.06.2012 Удален аргумент show_last_update.
4.4.0 08.12.2015 Введены аргументы hide_title_if_empty и separator. Изменен аргумент current_category (теперь он стал необязательным).

Файл: wp-includes/category-template.php (Развернуть)

С уважением, Виталий Кириллов

Источник

Оцените статью