「wordpress」タグアーカイブ

WordPressのオリジナルメニュー「あなたのコメント」の上のコメントメニュー(スパムチェック、一括操作も)削除 BuddyPressカスタマイズメモ

オリジナルメニュー「あなたのコメント」の上のコメントメニュー(スパムチェック、一括操作も)削除

 
WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが参加することになる。

・「あなたのコメント」を管理画面のメニューに追加

・「あなたのコメント」に投稿者自身が、人の記事に書いたコメントを表示


 

functions.php へ記述

後々、人が書いたコメントを編集したり削除したりできなくするので、スパムチェック、一括操作等も削除しておく。

//投稿一覧画面とコメント画面のバルクメニューを非表示

if (!current_user_can('administrator')) {
add_filter( 'bulk_actions-edit-post', '__return_empty_array', 100 ); //投稿のバルクメニュー
add_filter( 'bulk_actions-edit-comments', '__return_empty_array', 100 ); //コメントのバルクメニュー
add_filter( 'filter_by_comment-type-edit-comments', '__return_empty_array', 100 ); //コメントの編集用フィルター
add_filter( 'bulk_actions-edit-comments-mine', '__return_empty_array', 100 ); //あなたのコメントでのバルクメニュー
}

“管理者”でもメニューを削除したい場合は、一番上と一番下の

if (!current_user_can('administrator')) {

}

を削除すればいい。

WordPressのコメントページ上の、コメントメニュー(スパム、承認待ち等)を非表示に BuddyPressカスタマイズメモ

コメントページ上の、コメントメニュー(スパム、承認待ち等)を非表示にする方法

 
WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが参加することになる。

・「あなたのコメント」を管理画面のメニューに追加

・「あなたのコメント」に投稿者自身が、人の記事に書いたコメントを表示

で追加した、自分が「人の記事に対して」書いたコメント一覧を表示するページの上のメニューをシンプルにする。

functions.php へ記述

下記の例では、trash(ゴミ箱)、spam(スパム)、approved(承認済み)、moderated(承認待ち)、mine(自分)、all(全て)のうち、ゴミ箱と、全て、以外はコメントアウト「//」して削除している

//「あなたのコメント」の上のメニュー削除

if ( current_user_can( 'author' ) && ($pagenow == 'edit-comments-mine.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-mine.php?comment_status=trash') ),
  __( 'ゴミ箱' )
);
$status_links['spam'] = sprintf(
//  "<a href=%s>%s <span class='count'></span></a>",
//  esc_url( admin_url( 'edit-comments-mine.php?comment_status=spam') ),
//  __( 'スパム' )
);
$status_links['approved'] = sprintf(
//  "<a href=%s>%s <span class='count'></span></a>",
//  esc_url( admin_url( 'edit-comments-mine.php?comment_status=approved') ),
//  __( '承認済み' )
);
$status_links['moderated'] = sprintf(
//  "<a href=%s>%s <span class='count'></span></a>",
//  esc_url( admin_url( 'edit-comments-mine.php?comment_status=moderated') ),
//  __( '承認待ち' )
);
$status_links['mine'] = sprintf(
//  "<a href=%s>%s <span class='count'></span></a>",
//  esc_url( admin_url( 'edit-comments-mine.php?comment_status=mine') ),
//  __( '自分' )
);
$status_links['all'] = sprintf(
  "<a href=%s>%s <span class='count'></span></a>",
  esc_url( admin_url( 'edit-comments-mine.php?comment_status=all') ),
  __( 'All' )
);
return $status_links; 
} );
}

ついでに、一括操作、スパムとしてマーク、などのメニュー(バルクメニュー)か下記で非表示にできる。

その方法はこちらで紹介。

・上のコメントメニュー(スパムチェック、一括操作も)削除

管理画面にオリジナルメニュー「あなたのコメント」に「投稿者自身が、人の記事に書いたコメント」を表示 WordPress BuddyPressカスタマイズメモ

自分が、人の記事に書いたコメントだけをまとめて表示するページを作る

WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが参加することになる。

管理画面にオリジナルメニュー「あなたのコメント」を追加 で追加した、edit-comments-mine.php に自分で書いたコメントだけを表示させる。

edit-comments-mine.php は、edit-comments.php (wp-admin/の中にある)をコピペして、ファイル名を変更したもの。

edit-comments.php の他、comment.php、edit-form-comment.php、も同様にコピペしてファイル名を「xxxx-mine.php」としてフォルダ内に入れておく。

中のソースをそれぞれ、
edit-comments.php → edit-comments-mine.php
comment.php → comment-mine.php
edit-form-comment.php → edit-form-comment-mine.php

と書き換えておくこと。
 

functions.php へ記述

そのうえで、edit-comments-mine.php に自分のコメントのみ表示させる。

//自分のコメントのみ表示

function my_comments_for_current_author($query) {
 global $pagenow;
 if( 'edit-comments-mine.php' != $pagenow && !$query->is_admin )
 return $query;
 if( !current_user_can( 'manage_options' ) ) {
 global $user_ID;
 $query->query_vars['user_id'] = $user_ID ;
 }
 return $query;
}
add_filter('pre_get_comments', 'my_comments_for_current_author');

管理画面にオリジナルメニュー「あなたのコメント」を追加

も参照。