О web-разработке
и даже немного больше...

Количество записей в категории – WordPress

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

В WordPress есть встроенная функция, с помощью которого, зная id раздела, мы можем получить количество опубликованных записей в рубрике. Функция называется get_category(), при успешном обращении к ней она возвращает множество полезной информации, одной из которых и является счетчик количества записей.

Вызов функции:

<?php echo get_category($ID,$resType); ?>

$ID – id категории;
$resType – в качестве значения переменной передается параметр, который определяет, в каком виде будет возвращен результат. Возможные значения данного параметра:
ARRAY_A – ассоциативный массив;
ARRAY_N – индексированный массив;

В результате функция вернет массив, который может содержать такие значения параметров категории как:
term_id – ID категории,
name – название категории,
slug – ярлык категории,
description – описание категории,
parent – ID родительской категории,
count – количество постов в категории,
term_group – значение колонки term_group в БД,
term_taxonomy_id – ID таксономии, у категорий он равен 1,
taxonomy – название таксономии, для категорий – category

Получить количество записей рубрики с помощью данной функции можно более удобным способом. Обратившись напрямую, к свойству category_count мы получаем число записей.

<?php echo get_category($ID)->category_count; ?>

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

Опубликован: 14.10.2013 г.

См. также:

Убираем URL из формы комментариев WordPress
Работа с базой данных в WordPress
SQL-запросы для смены домена в WordPress
Мультиязычность с помощью плагина Polylang
Как создать свои шорткоды в WordPress
Как добавить виджет на сайт WordPress?
Добавление записей в WordPress средствами PHP
Как отключить архивы по авторам в WP?

Комментарии

  1. Ivan пишет:

    Привет. А как будет выглядеть
    category_count; ?>
    если имеется ни одна категория, а штук 5 разных? Я их получаю из произвольного поля путем
    ID, 'имя_поля', true); ?>
    Т.е. как посчитать в сумме количество постов в нескольких категориях?
    Спасибо.

  2. Ivan пишет:

    Сорри, обрезало чего-то функции - напишу без треугольных скобок:
    echo get_category($ID)->category_count; - Ваша
    $key_sec = get_post_meta($post->ID, 'имя_поля', true); - моя

    1. htmaker пишет:

      Если я правильно понял результат $key_sec у вас получается в виде массива, который содержит ID категорий. Сделайте перебор массива в цикле, внутри цикла делайте подсчет по каждой категории, плюс общий счетчик в виде переменной.

      1. Ivan пишет:

        Спасибо за совет, но вот на последнем моменте и запнулся как раз: форичем прогнать получается - набор отдельных "количеств" получаю, а вот с суммирующей переменной - проблем: не представляю вообще как её сделать - не силен в пэ-хэ-пэ.
        Подскажите плиз.
        Спасибо.

        1. htmaker пишет:

          $sum = 0; # счетчик
          foreach ($arCategory as $catID){
          $cnt = 0;
          $cnt = get_category($catID)->category_count;
          $sum = $sum + $cnt;
          }
          echo 'Общ. кол-во'.$sum;

          1. htmaker пишет:

            в качестве подсказки)

  3. Василий пишет:

    Приветствую. А как мне реализовать такую вещь. На сайте у каждой статьи есть свой автор. У каждого из авторов есть какое то количество опубликованных статей. И под каждой из этих статей есть блок автора. Так вот как в этом блоке вывести сколько он опубликовал статей в одной рубрике и сколько в другой. К примеру: Василий Пупкин опубликовал: Видео (12), Фотошоп (16) ?

Добавить комментарий

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

Комментарии
  • Загрузка...
Друзья сайта