Артём Мáлков

Способы подсчета и вывода количества записей в рубрике на WordPress

14 апр0 комм

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

Вывод количества постов в рубрике с помощью функции «get_category»

Как вы знаете, функция «get_category» очень полезная. Она помогает получить много параметров об активной (просматриваемой) или нужной вам рубрике. Одним из таких является параметр «category_count», который как раз и считает количество постов в рубрике.

Для вывода количества постов в просматриваемой рубрике воспользуйтесь следующим кодом:

$category_uid = get_queried_object();

echo "Постов в этой рубрике: ".get_category($category_uid->term_id)->category_count;

Для вывода количества постов из определенной рубрики воспользуйтесь следующим кодом:

echo "Постов в рубрике «Мультфильмы»: ".get_category("8")->category_count;

Где «8» – это ID нужной вам рубрики, в которой нужно считать количество постов.

Вывод количества постов в рубрике с помощью новой функции

Первое, что вам необходимо сделать – это в файл функции вашей темы (function.php), в самый низ перед закрывающим тегом ?> вставить:

function wp_cat_numb($id) {

	$category = get_category($id);
	$count = (int)$category->count;
	$taxonomy = "category";
	
	$array = array(
		"child_of" => $id
	);
	
	$tax_terms = get_terms($taxonomy, $array);

	foreach($tax_terms as $tax_term) {

		$count += $tax_term->count;

	}

	return $count;

} 

Для вывода количества постов в просматриваемой рубрике воспользуйтесь следующим кодом:

$category_uid = get_queried_object();

echo "Постов в этой категории: ".wp_cat_numb($category_uid->term_id);

Для вывода количества постов в нужной вам рубрике воспользуйтесь следующим кодом:

echo "Всего постов в рубрике «Мультфильмы»: ".wp_cat_numb("8");

Где «8» – ID категории, в которой нужно подсчитывать количество постов.

И в качестве небольшого бонуса:

Для получения количества всех постов на сайте воспользуйтесь следующим кодом:

echo "Всего постов на сайте: ".count(query_posts("&posts_per_page=-1"));

Для получения количества постов только из нужных категорий воспользуйтесь следующим кодом:

echo "Всего постов в рубрике «Мультфильмы» и «Боевики»: ".count(query_posts("cat=9,10&posts_per_page=-1"));

Где «9,10» – ID рубрик, в которых производится подсчет постов.

А с помощью функции «wp_count_posts» можно получить общее число постов по типам:

$count_posts = wp_count_posts();

echo "Всего постов на сайте: ".$count_posts->publish;

Где «publish» – статус поста. Допустимые статусы постов вы сможете найти в этой статье.

Рекомендуем к просмотру
Как вывести количество записей (постов) в рубрике (категории) в меню в WordPress?
Посты
Стандартные статусы постов в WordPress
Статьи и советы
Как исключить вывод постов из определенных рубрик на главной странице в WordPress?
Хаки
0
комментариев
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
Подняться наверх
«Pandoge» - помощник вебмастера