「オリジナルメニュー」タグアーカイブ

管理画面にオリジナルメニュー「あなたのコメント」に「投稿者自身が、人の記事に書いたコメント」を表示 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」を用意する必要がある

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

で紹介。