Обновление количества комментариев в WordPress
Если Вы добавили новый тип комментария у себя в WordPress, но не хотите чтобы они отображались в общем списке комментариев и также чтобы не учитывались в количестве комментариев, то делаем следующее:
1. Для исключения кастомных комментариев из общего списка:
В функции wp_list_comments (функция обычно лежит в файле comments.php вашей темы) добавляем аргумент type.
wp_list_comments(array('type' => 'comment'));
2. Для исключения кастомных комментариев из числа комментариев поста (comment_count):
Добавляем в файл functions.php следующий код:
add_action('wp_update_comment_count', 'sniff_update_comment_count');
function sniff_update_comment_count($post_id) {
global $wpdb;
$post_id = (int)$post_id;
if ( !$post_id )
return false;
if ( !$post = get_post($post_id) )
return false;
$new = (int) $wpdb->get_var( $wpdb->prepare("SELECT COUNT(*)
FROM $wpdb->comments
WHERE comment_post_ID = %d AND comment_approved = '1' AND comment_type != 'community_review' ", $post_id) );
$wpdb->update( $wpdb->posts, array('comment_count' => $new), array('ID' => $post_id) );
clean_post_cache( $post );
}
в comment_type != ‘community_review’ (строка 12) заменяем community_review на ваш тип комментариев, который Вы хотите исключить.
Вроде все.