web-dev-qa-db-ja.com

作者は自分の投稿コメントして見ることができず、緩和することができます

私は、作者が管理者コメントセクションにコメントを投稿できるのを見ることができ、またそれを緩和できるように動作させるようにしています。管理者はすべての権限を持っている必要がありますが。

私は1つのコードを持っていて、作者の投稿コメントだけを表示するようにすべての用語でうまく機能していますが、それは緩和することを許していません。作者が自分の投稿コメントを管理できる解決策を見つけるのを手助けすることができますか。

私が持っているコード:

function my_plugin_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;
};
// Ensure that editors and admins can moderate all comments
if(!current_user_can('edit_others_posts')) {
add_filter('comments_clauses', 'my_plugin_get_comment_list_by_user');
}
1
pixelngrain

デフォルトの作成者ロールにはmoderate_comments機能がないので、その機能を作成者ロールに追加する必要があるので、これをプラグインに追加します。

function add_theme_caps() {
        $role = get_role( 'author' ); // gets the author role
        $role->add_cap( 'moderate_comments' ); // would allow the author to moderate comments
}
add_action( 'admin_init', 'add_theme_caps');
2
Bainternet