当前位置: 首页 > 网站建设 > WordPress建站 > 让WordPress评论小工具不显示管理员评论

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

发布于:2015-8-14 最后更新:2017-6-21 WordPress建站 2条评论 6,699 views
本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme

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的评论,仅显示用户近期评论。


发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注


已有2条评论