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