让作者在 WordPress 后台只能看到自己文章下的评论

对于多作者博客,默认情况下,在WordPress后台的评论列表是可以看到其他作者文章下的评论的,如果要限制用户只能看到自己文章下的评论,将下面的代码添加到主题根目录下的 functions.php 即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
 * 让作者在 WordPress 后台只能看到自己文章下的评论
 * https://www.wpdaxue.com/show-comments-authors-own-posts.html
 */
function wpdx_get_comment_list_by_user($clauses) {
	if (is_admin()) {
		global $user_ID, $wpdb;
		$clauses['join'] = ", wp_posts";
		$clauses['where'] .= " AND wp_posts.post_author = ".$user_ID." AND wp_comments.comment_post_ID = wp_posts.ID";
	};
	return $clauses;
};
if(!current_user_can('edit_others_posts')) {
	add_filter('comments_clauses', 'wpdx_get_comment_list_by_user');
}

注:你可能需要修改 第 8-9 行中的几个 wp_ 为你自己的数据库前缀。第 13 行添加了判断,只有“编辑”角色以下的用户才生效,也就是说,属于编辑和管理员这两个角色的用户是不限制的。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
欢迎关注我们的微信公众号:WPDAXUE

倡萌

一个文科IT宅男,喜欢折腾WordPress和被它折腾 ^_^

5 条评论

  1. @倡萌!如何在后台或前台调用该用户的评论呢, 我想让用户,能在后台查看和管理自己发表过的评论;
    wordpress自带的功能是 能查看管理网站全部评论。 用户组是 投稿者。

  2. 倡萌。小白希望等到一个帮助。

    wordpress 怎么判断 如果用户打开A页面,发现用户没登陆 就跳转到B页面

    百度了一圈 都是关于判断如果用户登录就跳转到XX地方。

发表评论