コメントページの上のメニューを非表示にしたりする方法
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' )
の行のはじめの「//」を全て消しておく。
関連記事:
スパムチェック、一括操作などのバルクメニューと呼ばれるものを削除する方法はこちら参照。
「コメント」に、「あなたの記事に他ユーザーが書いたコメント」のみを表示させる方法はこちらを参照。
投稿者が人のコメントを編集、削除できないようにする方法はこちらを参照。