wp_count_comments
Дозволяє змінити кількість коментарів для зазначеного запису чи сайту загалом.
Використання
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 запису.
Приклади
#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
Використання не знайдено.