「スマホ・パソコン・Web関連」カテゴリーアーカイブ

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');

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

も参照。

WordPress 管理画面にオリジナルメニュー「あなたのコメント」を追加 BuddyPressカスタマイズメモ

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

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

普通「コメント」は、全てのコメントが見える。

その「コメント」を「自分の投稿へ、他人がつけてくれたコメント」にした上で、別途オリジナルメニューの「あなたのコメント」を追加する。

「あなたのコメント」は「自分が、他人の投稿へつけたコメント」とする。
 

functions.php へ記述

//「あなたのコメント」をメニューに追加

add_action( 'admin_menu', 'register_my_custom_menu_page' );
function register_my_custom_menu_page() {
add_menu_page('自分で書いたコメント', 'あなたのコメント', 'edit_posts', 'edit-comments-mine.php', '', 'dashicons-admin-customizer', 53);
}

add_menu_page();の使い方と説明は下記。詳細はWordpress公式の関数リファレンスを参照。

add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position );

$page_title:(必須) メニューが選択されたとき、ページのタイトルタグに表示されるテキスト。
$menu_title:(必須) メニューとして表示されるテキスト
$capability:(必須) メニューを表示するために必要な権限。
$menu_slug:(必須) メニューのスラッグ名またはphpファイルへのパス。
$function:(オプション) メニューページを表示する際に実行される関数。
$icon_url:(オプション) メニューのアイコンを示す URL。
$position:(オプション) メニューが表示される位置。省略したら最下部に表示。
$positionの数字による場所:
2 – ダッシュボード
4 – (セパレータ)
5 – 投稿
10 – メディア
15 – リンク
20 – 固定ページ
25 – コメント
59 – (セパレータ)
60 – 外観(テーマ)
65 – プラグイン
70 – ユーザー
75 – ツール
80 – 設定
99 – (セパレータ)
(例:ダッシュボードの次に入れたいなら、「3」にする)

ここでは、メニューに追加する方法だけを紹介しているが、今回の例では、別途phpファイル「edit-comments-mine.php」を用意する必要がある

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

で紹介。