Как вывести страницу категории

Содержание
  1. Вывод категорий для поста через функцию get_the_category
  2. Функция get_the_category
  3. Вывод категорий кастомных записей
  4. Как вывести все категории (рубрики) товаров WooCommerce в WordPress?
  5. Одноуровневый вывод всех категорий (рубрик) товаров WooCommerce в любом месте сайта в WordPress
  6. Многоуровневый (древовидный) вывод всех категорий (рубрик) товаров WooCommerce в любом месте сайта в WordPress
  7. Как вывести описание категории в WordPress с помощью функции category_description().
  8. Где добавлять описание категории?
  9. Способы вывода описания рубрики в WordPress
  10. 1. На странице самой категории.
  11. 2. На любой произвольной странице.
  12. 3. Как вывести описание только на первой странице категории при наличии пагинации в WordPress?
  13. 4. Выводим блок с описанием только в случае его заполнения.
  14. Альтернативный вариант
  15. Шотркод с функционалом вывода списка категорий в формате: название + описание.
  16. Как вывести посты по рубрикам на отдельной странице в WordPress
  17. Создание шаблона страницы
  18. Задача 1. Вывести рубрики или отдельную рубрику на странице в WordPress.
  19. Задача 2. Как вывести записи из рубрик на страницу в WordPress.
  20. Используем плагины

Вывод категорий для поста через функцию get_the_category

Приветствую всех читателей блога WordPress Inside в 2011 году, поздравляю с наступившими и наступающими праздниками, желаю много здоровья, счастья и радости на следующие 360 дней. Как и обещал в своей статье про планы на будущий 2011 год занимаюсь по чуть-чуть улучшением всех своих основных блогов — обновляю системы, ставлю последние версии плагинов и копаюсь в шаблонах ради оптимизации и исправления ошибок. Работал это крайне сложная, я бы даже сказал очень кропотливая — находишь одну неточность, решаешься ее исправить и перед тобой 5 отдельных проектов, для каждого из которых нужно внести правки. Ну, раз я уже запланировал все это сделать, назад дороги нет, заодно в процессе получаю дополнительный опыт создания блогов на wordpress и уже нашел штук 5-6 тем для новых постов в блог:) Сегодня поговорим о категориях и функциях для их отображения.

Читайте также:  Как отмыть плесень с рулонных штор

В одной из прошлых статей блога я публиковал хак который помогает убрать ненужный текст из атрибута title для ссылок категорий. Данное решение использовалось для функции вывода списка категорий в сайдбаре с помощью функции wp_list_categories. На выходе вы получали записи вроде этой:

Если уж для seo атрибут title имеет хоть какое-то значение, то куда полезнее там было бы разместить просто название категории, а не весь этот ненужных текст. Собственно, указанная выше ссылка на хак помогала решить эту проблему. Но вот ни задача, все это было справедливо (работало) для функции списка категорий wp_list_categories, которая позволяла предварительно обработать полученный список не выводя его сразу же. Но что делать с другими функциями для вывода категорий? — вот в чем вопрос.

Например, я сегодня совершенно случайно обнаружил, что куча ненужного текста в атрибут title ссылки пишется и при отображении списка категорий для конкретного поста.

Вся проблема заключалась в том, что здесь используется функция the_category, для которой, к сожалению, нельзя задать параметр, чтобы результат ее вызова не отображался сразу. Зато в вордпресс есть еще одна функция get_the_category, которая возвращается массив объектов категорий для конкретного поста.

Функция get_the_category

Синтаксис функции get_the_category достаточно прост:

где параметр id это учетная запись поста для которого будут выводить категории. Куда более интересными есть примеры использования функции.

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

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

Как получить категории вне цикла Loop

Для этого в качестве параметра функции нужно передавать id поста, что и происходит в коде.

Вывод названия категории без ссылок

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

Убираем из title категории лишний текст

Ну, и напоследок, немного поразмыслив получился хак для вывода списка категории для поста без использования функции the_category, которую мы успешно заменяем на get_the_category. Если вы хотите добавить код непосредственно в то место шаблона, где выводятся категории, например, файл archive.php, то пишем что-то вроде:

Можно, в принципе разместить код для отображения категорий в файле функций, а потом в файлах шаблона поменять the_category на новую функцию, например, под названием my_thecat(). Конечно, не забудьте предварительно перед заменой добавить соответствующий код в файл функций functions.php:

Потестировал, все работает. Остается лишь один вопрос — насколько это все полезно и крайне необходимо. Если у вас один блог с постоянным дизайном, который вы хотите сделать самым лучшим, то можно потратить пару минут и внести соответствующие изменения. В случае если у вас таких блогов много, думаю, особой seo выгоды манипуляция с title не принесет в плане, проще купить ссылок в Rotapost на все эти проекты — кстати эксперимент по подъему тИЦ в системе успешно и позитивно завершен, скоро будет отчет об этом.

Вывод категорий кастомных записей

В комментариях подсказывают, что примеры, указанные выше, не работают для кастомных (пользовательских) типов записей. Я с этой задачей не сталкивался, поэтому могу вам лишь посоветовать погуглить решение в англоязычных блогах по ключу wordpress custom post type show category или же воспользоваться подсказкой пользователя Stinker (из комментариев). В месте вывода категорий нужно просто вставить код:

ID, ‘categoria_video’, ‘
Категория: ‘, ‘ ‘,’ ‘ ); ?>

Где categoria_video — это таксономия пользовательской записи (она же кастомная). А теперь более подробно от куда и что. Например у нас есть:

// Тип записи Видео if ( ! function_exists( ‘video_cp’ ) ) < function video_cp() < $labels = array( 'name' =>_x( ‘Видео’, ‘Post Type General Name’, ‘video’ ), ‘singular_name’ => _x( ‘Видео’, ‘Post Type Singular Name’, ‘video’ ), ‘menu_name’ => __( ‘Видео’, ‘video’ ), ‘parent_item_colon’ => __( ‘Родительский:’, ‘video’ ), ‘all_items’ => __( ‘Все видеоматериалы’, ‘video’ ), ‘view_item’ => __( ‘Просмотреть’, ‘video’ ), ‘add_new_item’ => __( ‘Добавить новое видео’, ‘video’ ), ‘add_new’ => __( ‘Добавить видео’, ‘video’ ), ‘edit_item’ => __( ‘Редактировать видео’, ‘video’ ), ‘update_item’ => __( ‘Обновить видео’, ‘video’ ), ‘search_items’ => __( ‘Найти видео’, ‘video’ ), ‘not_found’ => __( ‘Не найдено’, ‘video’ ), ‘not_found_in_trash’ => __( ‘Не найдено в корзине’, ‘video’ ), ); $args = array( ‘labels’ => $labels, ‘supports’ => array( ‘title’, ‘editor’, ‘excerpt’, ), ‘taxonomies’ => array( ‘categoria_video’ ), // категория, которую мы создадим ниже (она же таксономия) ‘public’ => true, ‘menu_position’ => 5, ‘menu_icon’ => ‘dashicons-id-alt’, ); register_post_type( ‘video’, $args ); > add_action( ‘init’, ‘video_cp’, 0 ); // инициализируем > if ( ! function_exists( ‘categoria_video’ ) ) < // Категории для вакансий function categoria_video() < $labels = array( 'name' =>_x( ‘Категории Видео’, ‘Taxonomy General Name’, ‘categoria_video’ ), ‘singular_name’ => _x( ‘Категория Видео’, ‘Taxonomy Singular Name’, ‘categoria_video’ ), ‘menu_name’ => __( ‘Категории’, ‘categoria_video’ ), ‘all_items’ => __( ‘Категории’, ‘categoria_video’ ), ‘parent_item’ => __( ‘Родительская категория Видео’, ‘categoria_video’ ), ‘parent_item_colon’ => __( ‘Родительская категория Видео:’, ‘categoria_video’ ), ‘new_item_name’ => __( ‘Новая категория’, ‘categoria_video’ ), ‘add_new_item’ => __( ‘Добавить новую категорию’, ‘categoria_video’ ), ‘edit_item’ => __( ‘Редактировать категорию’, ‘categoria_video’ ), ‘update_item’ => __( ‘Обновить категорию’, ‘categoria_video’ ), ‘search_items’ => __( ‘Найти’, ‘categoria_video’ ), ‘add_or_remove_items’ => __( ‘Добавить или удалить категорию’, ‘categoria_video’ ), ‘choose_from_most_used’ => __( ‘Поиск среди популярных’, ‘categoria_video’ ), ‘not_found’ => __( ‘Не найдено’, ‘categoria_video’ ), ); $args = array( ‘labels’ => $labels, ‘hierarchical’ => true, ‘public’ => true, ); register_taxonomy( ‘categoria_video’, array( ‘video’ ), $args ); > add_action( ‘init’, ‘categoria_video’, 0 ); // инициализируем >

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

Источник

Как вывести все категории (рубрики) товаров WooCommerce в WordPress?

Я думаю, что многие согласятся со мной, что WooCommerce – это отличное решение для CMS WordPress, с помощью которого можно организовать свой собственный интернет-магазин.

Мы уже затрагивали тему этого дополнения и CMS в общем. Так что сегодня я покажу вам, как просто и без всяких плагинов вывести два вида меню (кликабельный список всех категорий товаров) на вашем сайте.

Одноуровневый вывод всех категорий (рубрик) товаров WooCommerce в любом месте сайта в WordPress

Начнем с самого простого примера – одноуровневого меню со всеми категориями, где есть хотя бы 1 товар.

Вид функции (вставляется в файл functions.php, который находится в папке темы сайта):

Этот код вы вставляете в нужное вам место темы сайта. Важные моменты я пометил в функции.

Основные типы сортировок:

  1. id или term_id – по ID.
  2. name – по названию.
  3. slug – по альтернативному названию.
  4. description – по описанию.
  5. meta_value – по значению произвольного поля.
  6. none – не сортировать.

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

Допустимые порядки сортировки:

  1. ASC – от меньшего к большему (по порядку – 1, 2, 3 или a, b, c и т.д.);
  2. DESC – от большего к меньшему (в обратном порядке – 3, 2, 1 или c, b, a и т.д.).

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

Многоуровневый (древовидный) вывод всех категорий (рубрик) товаров WooCommerce в любом месте сайта в WordPress

Поскольку в WooCommerce (как, собственно, и в WordPress) есть возможность вложения категорий, будет не лишним показать вам, как же правильно вывести их все с учетом их структуры (вложенности).

Вставляете так же в файл functions.php, и использование (вывод):

Вставляете в нужное место в тему вашего сайта. Допустимые настройки вывода – как и в первом варианте.

Стилизацию меню в этой статье я не рассматриваю, думаю, ее вы можете сделать и сами.

Общий класс меню первого уровня – «main_categories_list», второго и последующего – «sub_categories_list» + «sub_categories_list_N», где N – уровень вложения. Цепляетесь за них и настраиваете вид так, как вам нужно.

Источник

Как вывести описание категории в WordPress с помощью функции category_description().

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

Где добавлять описание категории?

Описание категории в WordPress можно добавить, перейдя в админку в раздел «Записи» — «Рубрики» и выбрав пункт «Изменить».

Ниже можно увидеть поле «Описание».

Сюда вводят текст описания, после чего жмем кнопку «Обновить». Добавить текст описания можно и при создании рубрики. Ранее мы уже рассматривали процесс добавления визуального редактора для поля описания вот тут — http://webprovincia.com/wordpress/visualniy-redaktor-dlya-rubrik.html.

Способы вывода описания рубрики в WordPress

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

Для редактирования страниц рубрик найдите в папке своей темы файл category.php, если нет то archive.php.

1. На странице самой категории.

Чтобы вывести описание рубрики в WordPress используется функция — category_description().

Здесь принимаемый параметр $category_id – это id категории, описание которой вы хотите вывести. Посмотреть значение id, можно перейдя в админку в раздел «Записи» — «Рубрики» нажать на кнопку изменить в строке нужной вам категории и в строке браузера вы увидите это значение.

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

Тут есть важный момент. В случае использования category_description() на странице архива, отличной от category.php, то вам нужно произвести проверку на то генерируется ли именно страница категории, а не страница автора, меток или другая таксономия.

Сделать это можно с помощью условного оператора is_category().

2. На любой произвольной странице.

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

Можно напрямую ввести числовое значение id.

Либо же определить id с помощью функции get_the_category().

3. Как вывести описание только на первой странице категории при наличии пагинации в WordPress?

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

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

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

Альтернативный вариант

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

Где $before – это текст перед описанием. Можно указать HTML. А $after – это текст после описания. Можно указать HTML. Пример использования этих параметров.

Шотркод с функционалом вывода списка категорий в формате: название + описание.

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

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

В админке это выглядит следующим образом.

А на сайте вот так.

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

Источник

Как вывести посты по рубрикам на отдельной странице в 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 плагином или же без плагинов с помощью кода. Надеюсь, материал был для вас полезен.

Источник

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