コメントページの上のメニューを非表示にしたりする方法
WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが参加することになる。
投稿者権限の一般参加ユーザーには、コメントの承認や非承認の権限は必要ないので、メニューごと非表示にしてしまおう。
↓↓↓
functions.php へ記述
人の書いたコメントの編集権限は一切必要ないので、ゴミ箱、スパム、承認待ち、などを全て非表示にしている。
//あなたの記事へのコメントで上メニュー削除
if ( current_user_can( 'author' ) && ($pagenow == 'edit-comments.php')) {
add_filter( 'comment_status_links',
function( $status_links ) {
$status_links['trash'] = sprintf(
// "<a href=%s>%s <span class='count'></span></a>",
// esc_url( admin_url( 'edit-comments.php?comment_status=trash') ),
// __( 'ゴミ箱' )
);
$status_links['spam'] = sprintf(
// "<a href=%s>%s <span class='count'></span></a>",
// esc_url( admin_url( 'edit-comments.php?comment_status=spam') ),
// __( 'スパム' )
);
$status_links['moderated'] = sprintf(
// "<a href=%s>%s <span class='count'></span></a>",
// esc_url( admin_url( 'edit-comments.php?comment_status=moderated') ),
// __( 'コメント一覧' )
);
$status_links['mine'] = sprintf(
// "<a href=%s>%s <span class='count'></span></a>",
// esc_url( admin_url( 'edit-comments.php?comment_status=mine') ),
// __( '自分' )
);
$status_links['all'] = sprintf(
// "<a href=%s>%s <span class='count'></span></a>",
// esc_url( admin_url( 'edit-comments.php?comment_status=all') ),
// __( 'All' )
);
return $status_links;
} ); }
頭に「//」がついている場合は、コメントアウトされて空っぽになる(つまり非表示になる)、上のコードで、例えば「全て」も残したい場合は、
頭の
// "<a href=%s>%s <span class='count'></span></a>",
// esc_url( admin_url( 'edit-comments.php?comment_status=all') ),
// __( 'All' )
の行のはじめの「//」を全て消しておく。
関連記事:
スパムチェック、一括操作などのバルクメニューと呼ばれるものを削除する方法はこちら参照。
「コメント」に、「あなたの記事に他ユーザーが書いたコメント」のみを表示させる方法はこちらを参照。
投稿者が人のコメントを編集、削除できないようにする方法はこちらを参照。