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

Дозволяє змінити кількість коментарів для зазначеного запису чи сайту загалом.

Використання

add_filter( 'wp_count_comments', 'wp_kama_count_comments_filter', 10, 2);

/**
 * Function for `wp_count_comments` filter-hook.
 *
 * @param array|stdClass $count На empty array або на object containing comment counts.
 * @param int $post_id The post ID. Can be 0 to represent the whole site.
 *
 * @return array|stdClass
 */
function wp_kama_count_comments_filter( $count, $post_id ){

	// Filter...
	return $count;
}
$count
(масив)
Порожній масив.
$post_id
(число)
ID запису.

Приклади

0

#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-includes/comment.php 1411

$filtered = apply_filters( 'wp_count_comments', array(), $post_id );

Де використовується хук у WordPress

Використання не знайдено.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *