通过一些测试,这似乎可以通过两个过滤器实现。
首先,您希望将前端评论查询设置为查询所有帖子的评论,而不仅仅是当前帖子的评论。可以这样做:
add_action(
\'pre_get_comments\',
function( $comment_query ) {
if ( ! is_admin() ) {
$comment_query->query_vars[\'post_id\'] = 0;
}
}
);
然而,评论模板中的一些逻辑将基于WordPress认为帖子拥有的评论数量。这存储在每个帖子上,作为
comment_count
出于性能原因,请将其与注释查询分开,因此仅更改要查询的注释不会影响此数字。但是
get_comments_number
筛选我们可以将每个帖子的评论数替换为网站上的评论总数,如下所示:
add_filter(
\'get_comments_number\',
function( $count ) {
if ( ! is_admin() ) {
$count = wp_count_comments()->approved;
}
return $count;
}
);