WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Рекомендуемые продукты со скидкой от Template Monster

wp_count_comments хук-фильтр . WP 2.7.0

Позволяет изменить количество комментариев для указанной записи или сайта в целом.

Использование

add_filter( 'wp_count_comments', 'filter_function_name_9361', 10, 2 );
function filter_function_name_9361( $count, $post_id ){
	// Изменяем...

	return $count;
}
$count(массив)
Пустой массив.
$post_id(число)
ID записи.

Примеры

#1 Отменим запрос по подсчету комментариев

Допустим у нас на сайте не используются комментарии. Логично убрать упоминания о них в админке.

add_action( 'admin_menu', 'remove_admin_menu_comments' );
add_action( 'add_admin_bar_menus', 'remove_admin_bar_comments' );
add_action( 'wp_dashboard_setup', 'remove_dashboard_recent_comments' );

/**
* Удаляем пункт меню "Комментарии" в админке.
*
* @return void
*/
function remove_admin_menu_comments() {
	remove_menu_page( 'edit-comments.php' );
}

/**
 * Удаляем пункт меню "Комментарии" в тулбаре.
 *
 * @return void
 */
function remove_admin_bar_comments() {
	remove_action( 'admin_bar_menu', 'wp_admin_bar_comments_menu', 60 );
}

/**
 * Удаляет виджет "Последние комментарии" из Консоли WordPress.
 *
 * @return void
 */
function remove_dashboard_recent_comments() {
	$dash_side   = &$GLOBALS['wp_meta_boxes']['dashboard']['side']['core'];
	$dash_normal = &$GLOBALS['wp_meta_boxes']['dashboard']['normal']['core'];

	unset( $dash_normal['dashboard_recent_comments'] );
}

Независимо от этих отмен, запрос на подсчёт комментариев сайта всё равно произойдёт в файле menu.php, который уже не имеет смысла. Отменим этот и другие подобные запросы по подсчету комментариев как для указанной записи, так и для сайта в целом:

add_filter( 'wp_count_comments', 'wp_count_comments_empty' );

function wp_count_comments_empty() {
	return (object) [
		'approved'            => 0,
		'awaiting_moderation' => 0,
		'moderated'           => 0,
		'spam'                => 0,
		'trash'               => 0,
		'post-trashed'        => 0,
		'total_comments'      => 0,
		'all'                 => 0,
	];
}

Список изменений

С версии 2.7.0 Введена.

Где вызывается хук

wp_count_comments()
wp_count_comments
wp-includes/comment.php 1323
$filtered = apply_filters( 'wp_count_comments', array(), $post_id );

Где используется хук (в ядре WP)

Использование не найдено.
campusboy 3416youtube.com/c/wpplus
Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Редакторы: Kama 7610
Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться