Как вывести количество постов в рубриках WordPress. Примеры кода.

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

По дефолту такая возможность есть в виджете «Рубрики». Чтобы посмотреть, как это работает, переходите в админку, далее в раздел «Внешний вид» — «Виджеты». Перетаскиваете в область виджета вашего сайта  блок «Рубрики». Открываете его для редактирования и там ставите чекбокс напротив параметра «Отображать число записей». Нажимаем «Сохранить».

Вот как это выглядит на сайте.

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

Если нужно вывести число постов из рубрики на странице категории.

Первый случай, когда может использоваться число записей – это как структурный элемент страницы категории. Например, на сайте по продаже семян цветов есть каталог по сортам и в нем вы создаете заголовок формата «N видов сортов пионов». Где «N» это число записей в рубрике, которое должно автоматически меняться придобавлении новой записи в данную категорию. Финальный результат, например «55 видов сортов пионов».

В таком случае вы можете использовать следующий код.

<?php
    $category = get_queried_object();
    $category_total = $category->count;
?>

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

<?php
    $category = get_queried_object();
    $category_total = $category->count;
    echo $category_total;
    the_archive_title( '<h1 class="page-title">', '</h1>' );
?>

Результат на сайте.

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

Если нужно вывести список рубрик с числом постов, например, на произвольной странице (главной) сайта.

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

Вот пример кода, как это можно сделать.

<ul>
    <?php
        $args = array(
            'orderby' => 'slug',
            'hide_empty'   => 1,
        );
		$categories = get_categories( $args );
        foreach( $categories as $category ){
            echo '<li><a href="' . get_category_link( $category->term_id ) . '">' . $category->name . '<span>' . $category->category_count . '</span></a></li>';
        }
    ?>
</ul>

Вот как это выглядит на сайте.

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

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

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

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