web-dev-qa-db-ja.com

ワードプレスの作者​​が自分の投稿にコメントを投稿する機能を削除する

WordPressの作者は自分の投稿の他のコメントを編集する権限を持っています。これを無効にし、それでも作者が公開された投稿を編集できるようにするにはどうすればいいですか?

1
baru

コードを簡単に見ると、それに対するパーミッションチェックは edit_comment() 関数のedit_comment機能です。

その機能を大まかに削除するためのオプションは次のとおりです。

  • プラグインを使用して役割をカスタマイズします。例えば、 Members
  • コードを使用して役割をカスタマイズし、おそらくは remove cap 機能を使用する
  • より複雑なロジックを実現する必要がある場合は、map_meta_capまたはuser_has_cap付近でthiungsをフィルタリングします(たとえば、一般的なコメントではなく、特定のコメントに関して許可を拒否するなど)。

PSは、これがインタフェースの関連部分を適切に省略するかどうか確信が持てない、別にそれを扱う必要があるかもしれない

0
Rarst

次のコードをテーマのfunctions.phpファイルに挿入します。

function block_bulk_comments_actions($actions) {
  unset($actions['unapprove']);
  unset($actions['approve']);
  unset($actions['spam']);
  unset($actions['trash']);

  return $actions;
}

function block_comment_row_actions($actions) {
  unset($actions['approve']);
  unset($actions['unapprove']);
  unset($actions['quickedit']);
  unset($actions['edit']);
  unset($actions['spam']);
  unset($actions['trash']);

  return $actions;
}


if (!current_user_can('moderate_comments')) {
  add_filter('bulk_actions-edit-comments', 'block_bulk_comments_actions');
  add_filter('comment_row_actions', 'block_comment_row_actions');
}
0
livilajed