让WordPress评论小工具不显示管理员评论


如需VPS代购、PHP开发、服务器运维等服务,请联系博主QQ:337003006

wordpress自带的近期评论小工具能显示博客最新的评论,并且可以自定义显示数量,显得非常的方便,不过不足之处是当管理员对博客留言者进行回复时也会显示出来,这样一来近期评论小工具很有可能被管理员自己的评论占满,显得体验不太好。

recent_comment
近期评论

想要解决这个问题也非常得简单,只需要将下面的代码添加到主题目录的functions.php文件中即可:

//让管理员评论不显示在首页
//查看wp-includes/comment.php中WP_Comment_Query::query部分
//根据传入参数完善查询条件
add_filter( 'comments_clauses', 'wpdit_comments_clauses', 2, 10);
function wpdit_comments_clauses( $clauses, $comments ) {
global $wpdb;
if ( isset( $comments->query_vars['not_in__user'] ) && ( $user_id = $comments->query_vars['not_in__user'] ) ) {
if ( is_array( $user_id ) ) {
$clauses['where'] .= ' AND user_id NOT IN (' . implode( ',', array_map( 'absint', $user_id ) ) . ')';
} elseif ( '' !== $user_id ) {
$clauses['where'] .= $wpdb->prepare( ' AND user_id  %d', $user_id );
}
}
//var_dump($clauses);
return $clauses;
}
//详细查看wp-includes/default-widgets.php中 WP_Widget_Recent_Comments 部分
//增加参数not_in__user
add_filter( 'widget_comments_args', 'wpdit_widget_comments_args' );
function wpdit_widget_comments_args( $args ){
$args['not_in__user'] = array(1); //这里放你的ID;
return $args;
}
//END

最后可以看到网站右侧的近期评论将不会再显示管理员小z的评论,仅显示用户近期评论。

全部为采集文章,文中的 联系方式 均不是 本人 的!

发表评论