WordPress最近的评论Widget排除自己的评论

时间:2013-05-19 作者:Paul Brown

抱歉,我搜索了最近更新的插件或文章,但找不到任何内容。我正在侧边栏中使用标准的最近评论小部件。我喜欢回复所有评论,但不希望我的评论出现在最近的评论中。对我来说,过滤器可以按角色或用户id工作(我是唯一的管理员)。这在say函数中是否可能。php或者有没有更好的方法来实现这一点-对于业余爱好者:-)

非常感谢您的指导。

1 个回复
最合适的回答,由SO网友:birgire 整理而成

您可以尝试使用此选项跳过用户的评论user_id = 1 在最近的评论小部件中:

add_action( \'widgets_init\', \'custom_recent_comments\' );
function custom_recent_comments(){
    add_filter( \'comments_clauses\', \'custom_comments_clauses\' );
}
在哪里

function custom_comments_clauses( $clauses ){
    $clauses[\'where\'] .= " AND user_id != 1 "; // EDIT
    return $clauses;
}
以类似的方式,您可以通过以下方式锁定用户电子邮件:

$clauses[\'where\'] .= " AND comment_author_email != \'[email protected]\' "; // EDIT
这将影响wherewidgets_init

PS: 如果您只想运行where-在widgets_init 钩子,您可以使用custom_comments_clauses() 功能:

function custom_comments_clauses( $clauses ){
    remove_filter( \'comments_clauses\', \'custom_comments_clauses\' );
    $clauses[\'where\'] .= " AND user_id != 1 "; // EDIT
    return $clauses;
}

结束