讓作者在 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');
}

/**
* 讓作者在 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 行添加瞭判斷,隻有“編輯”角色以下的用戶才生效,也就是說,屬於編輯和管理員這兩個角色的用戶是不限制的。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *