Wordpressの管理画面でコメント一覧に列を追加してカスタムフィールドを表示させたりソートしたり列を削除したりする方法
Wordpressの管理画面でコメント一覧に列を追加してカスタムフィールドを表示させたりソートしたり列を削除したりしてみます。
Wordpressの管理画面のコメント一覧には、通常下記の項目が表示されます。
- 投稿者
- コメント内容
- 返信先
- 投稿日
コメントフォームでカスタムフィールドを入力させている場合など、管理画面のコメント一覧上に入力されたカスタムフィールドの情報を表示させたり、また不要な項目を除去するには、function.phpの編集が必要です。
コメント一覧にカスタムフィールドの情報を追加してソート可能にする
コメント一覧にコメントに入力されたカスタムフィールドを表示させてソート可能にする方法は以下の通りです。
function.phpの任意の箇所に記載してください。
下記は「nickname」というカスタムフィールドに「ニックネーム」を登録させていた場合の例になります。
//管理画面のコメント一覧にカスタムフィールドを表示する function my_manage_comment_columns($columns) { //列を追加 $columns['nickname'] = "ニックネーム"; //"nickname"列のラベルを「ニックネーム」にする return $columns; } add_filter( 'manage_edit-comments_columns', 'my_manage_comment_columns' ); function my_add_comment_columns($column_name, $comment_id) { //列にカスタムフィールドを表示する if( $column_name == 'nickname' ) { if (get_comment_meta( $comment_id, 'nickname', true )){ $nickname = get_comment_meta( $comment_id, 'nickname', true ); echo $nickname; } } } add_action( 'manage_comments_custom_column', 'my_add_comment_columns',null, 2); function my_manage_edit_comments_sortable_columns($columns){ //列をソート可能にする $columns['nickname'] = 'ニックネーム'; return $columns; } add_filter( 'manage_edit-comments_sortable_columns', 'my_manage_edit_comments_sortable_columns');
ソートが必要ない場合は「my_manage_edit_comments_sortable_columns」は必要ありません。
まず列を増やし、カスタムフィールドの値を表示させ、ソート可能にするという手順になります。
この辺は投稿やページなどの一覧にカスタムフィールドの値を表示させる方法とあまり変わりません。
コメント一覧から列を削除する
コメント一覧から項目を削除する方法は以下のとおりです。
function.phpの任意の箇所に記載してください。
例では「返信先」の列を削除してみます。
//管理画面のコメント一覧から列を削除 function manage_comment_delete_columns($columns) { unset($columns['response']);//返信先を削除 return $columns; } add_filter( 'manage_edit-comments_columns', 'manage_comment_delete_columns' );
列を追加する時と同じフィルターフックを利用するので、まとめて記載してもOKです。
まとめ
Wordpressの管理画面の投稿一覧に項目を追加する方法はいくつか紹介記事があったのですが、コメント一覧に追加・削除する方法は無いようだったので備忘録に。
どなたかのお役に立てば幸いです。