Хорошо, я понял это.
Во-первых, пользователь должен иметь роль с правами на редактирование опубликованных сообщений и модерирование комментариев.Последний является не стандартным для авторов / авторов.
Затем, отфильтровав запрос, который получает комментарии (используя comments_clauses) и добавив объединение, вы можете показывать только комментарии для сообщений на текущий момент.вошел в систему пользователя.
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');
}
Работает отлично.Изменения в ролях могут не подходить для каждой настройки, но на самом деле это работает для меня на этом сайте.