获取多篇帖子的评论非常简单:只需替换comment_post_ID = YOUR_POST_ID
使用IN()
作用
function wpse_59687_multiple_comment_post_id_query_filter( $query )
{
$post_ids = array ( 149, 188, 151 );
if ( FALSE === strpos( $query, \'comment_post_ID = \' ) )
{
return $query; // not the query we want to filter
}
remove_filter( \'query\', \'wpse_59687_multiple_comment_post_id_query_filter\' );
$replacement = \'comment_post_ID IN(\' . implode( \',\', $post_ids ) . \')\';
return preg_replace( \'~comment_post_ID = \\d+~\', $replacement, $query );
}
现在在调用之前调用此函数
comments_template()
:
add_filter( \'query\', \'wpse_59687_multiple_comment_post_id_query_filter\' );
更困难的是:
get_comments_number()
这是错误的。你也必须过滤它的值对另一篇文章的评论的回复会重定向到另一篇文章的URL,而不是评论人撰写评论的页面。解决这一问题并非易事……