Как изменить порядок сортировки категорий (рубрик) в WordPress

Сегодня мы рассмотрим еще одну доработку функционала WordPress, а именно вопрос сортировки рубрик. Создавая меню, вы можете перемещать нужные пункты, устанавливая необходимый порядок ссылок. Но обращая внимание на те же виджеты, к примеру, виджет «Рубрики», можно увидеть, что там нет сортировки, и ссылки на рубрики выводятся по алфавиту. Иногда может стоять задача создания кастомного блока в сайдбаре или на главной странице сайта со ссылками на категории, в таком случае нужно использовать либо специальные плагины для смены порядка категорий в WordPress или же использовать собственный код для этих целей.

Давайте более детально разберем каждый из подходов.

Плагины для сортировки рубрик в WordPress

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

Category Order and Taxonomy Terms Order

Если обратите внимание на количество загрузок данного плагина (сейчас 400 + тыс.) то станет понятно, что он установлен на многих сайтах, поэтому проблем с его установкой и использованием быть не должно.

1. Идем в раздел админки «Плагины» — «Добавить новый».

2. Ищем в строке поиска плагин по запросу «Category Order and Taxonomy Terms Order». Устанавливаем и активируем его.

3. Далее переходим в раздел «Записи» — «Заказная сортировка» («Taxonomy order»), и попадаем в рабочий интерфейс плагина.

4. Тут можно выбрать с какой тасономией вы будете работать.

5. А ниже, с помощью перетаскивания названия рубрик мышкой  установить необходимый порядок их сортировки.

6. Жмем обновить.

Custom Taxonomy Order

Это второй плагин, который имеет схожий функционал.

1. Устанавливаем плагин. «Плагины» — «Добавить новый», и ищем по названию «Custom Taxonomy Order». Активируем его.

2. В меню админки появится пункт «Сортировка рубрик». В нем будет много пунктов касательно сортировки как дефолтных таксономий WordPress так и кастомных. Для примера выбираем ссылку меню «Сортировать рубрики», и попадаем на страницу настроек.

3. на странице настроек можно с помощью перетаскивания название рубрик выставить их порядок, а чуть ниже указать, как именно сортировать эти категории. Если вы хотите сортировать согласно выставленному порядку выше, то выберите пункт «Уникальный порядок, как отсортировано выше». Альтернативные параметры для сортировки это: id, название и slug (ссылка).

Задаем порядок сортировки рубрик в WordPress без плагинов

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

1. Используем функцию wp_list_categories().

Примеры того как с ней работать я приводил в статье — . Важно понимать, что одним из аргументов данной функции является «orderby». Устанавливает сортировку по категориям по следующим параметрам: id, name, slug, count. В дополнение к нему идет аргумент «order», который устанавливает порядок сортировки, значения – ASC (прямой порядок), DESC (обратный порядок).

Пример использования:

<?php wp_list_categories('orderby=id&order=desc&show_count=1&title_li='); ?>

2. Используя функцию get_categories().

Вот пример кода.

<?php
$args = array(
    'orderby' => 'include',
    'order' => 'ASC',
    'include' => '5,6,7,8,29,9'
);
$categories = get_categories($args);
foreach($categories as $category) {
    echo '<li><a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf(     __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name . '</a>' . ' ' . '(' . $category->count . ')' . '</li> ';
}
?>

Тут используется дополнительный аргумент «include», в котором указывают порядок сортировки рубрик путем чередования их id. Далее этот параметр передают в аргумент ‘orderby’ => ‘include’.

Поделиться в социальных сетях:
Нет комментариев к данной статье

Оставить новый комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *