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
Використання не знайдено.