wp_count_posts () или как посчитать количество постов в WordPress.

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

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

wp_count_posts ( $type, $perm ) ;
$type
(строка)(необязательно) указываем название типа записей, которое хотим посчитать. По умолчанию: ‘post’.
$perm
(строка)(необязательно) позволяет сделать так, чтобы в подсчёт количества записей добавились личные (приватные) посты пользователя . Для этого указываем ‘readable’.

Возвращает объект с указанием количества постов для каждого статуса. Вот пример того, что в итоге получится:

stdClass Object
    (
        [publish] => 23
        [future] => 0
            [draft] => 0
            [pending] => 0
            [private] => 0
            [trash] => 0
            [auto-draft] => 0
            [inherit] => 0
            [request-pending] => 0
            [request-confirmed] => 0
            [request-failed] => 0
            [request-completed] => 0
    )

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

 $count_posts = wp_count_posts('services'); //указываем созданный вами тип записи - services
 
    $published_posts = $count_posts->publish; //количество только опубликованных записей
 
    echo $published_posts; //выводим полученное количество

Источник: misha.blog

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

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

%d такие блоггеры, как: