一覧画面の表示項目は追加及び削除を行える[1]。本記事は一覧画面のカスタマイズ(追加・削除)方法をまとめる。
表示項目の削除は簡単なので追加の前に削除の方法をまとめる。
/* * 投稿一覧の作成者を削除 */ function custom_columns ($columns) { unset($columns['author']); return $columns; } add_filter( 'manage_posts_columns', 'custom_columns' );
デフォルトでは下記の項目をカスタマイズできる。
$columns[‘cb’] ⇒ チェックボックス
$columns[‘title’] ⇒ タイトル
$columns[‘author’] ⇒ 作成者
$columns[categories] ⇒ カテゴリー
$columns[tags] ⇒ タグ
$columns[comments] ⇒ コメント
$columns[date] ⇒ 日付
作成者の列を削除するコートは下記のようになる。
/* * 固定ページ一覧の作成者を削除 */ function custom_columns ($columns) { unset($columns['author']); return $columns; } add_filter( 'manage_pages_columns', 'custom_columns' );
一覧画面に表示列を追加する方法をまとめる。
投稿タイプpostの一覧画面に投稿IDを表示するコードは下記のようになる。
<?php function add_post_columns_name($columns) { $columns['postID'] = "投稿ID"; return $columns; } function add_column($column_name, $post_id) { if( $column_name == 'postID' ) { echo attribute_escape($post_id); } } add_filter( 'manage_posts_columns', 'add_post_columns_name' ); add_action( 'manage_posts_custom_column', 'add_column', 10, 2); [/php] <p> manage_posts_custom_columnの第4引数の2はコールバック関数(add_column)の引数の数を指定する。 </p> <h3>固定ページ(page)</h3> <p> 固定ページ (page) の場合もpostの場合とほぼ同じ方法で列を追加できる。<br /> manage_posts_columns ⇒ manage_pages_columns<br /> manage_posts_custom_column ⇒ manage_pages_custom_column となる。 </p> <p>投稿スラッグを表示するコードは下記のようになる。</p> [php] <?php function add_page_columns_name($columns) { $columns['slug'] = "スラッグ"; return $columns; } function add_page_column($column_name, $post_id) { if( $column_name == 'slug' ) { $post = get_post($post_id); $slug = $post->post_name; echo attribute_escape($slug); } } add_filter( 'manage_pages_columns', 'add_page_columns_name'); add_action( 'manage_pages_custom_column', 'add_page_column', 10, 2);
カスタム投稿タイプ(Custom Post Type)はmanage_posts_columnsの代わりにmanage_edit-●●●_columnsフィルターを使う。●●●はカスタム投稿タイプ。
This filter works fine, but it will add a new custom column to all post manage page, including for custom post type. So, to specify the manage page for a custom post type, we use another filter: manage_edit-customposttype_columns, where customposttype is the slug of you custom post type. For example, if you want to add a new column to manage page for post type film, just use:
» Add Custom Column To WordPress Post Manage Page – Deluxe Blog Tips
カスタム投稿タイプ(例:cpt_gallery)の一覧画面にカスタムタクソノミー(例:ct_gallery_staff)を表示する。
// 一覧画面にカスタムタクソノミーを追加 function manage_cpt_columns ($columns) { $columns['staff'] = 'スタッフ'; return $columns; } function add_cpt_column ($column, $post_id) { if ('staff' == $column) { $value = get_the_term_list($post_id, 'ct_gallery_staff'); // get_the_term_listの戻り値はHTMLの形式<a href="...">ターム名</a> $value = preg_replace("/<[^>]+>(.+)<\/a>/","$1",$value); // ターム名を取り出す。 echo attribute_escape($value); } } add_filter('manage_edit-cpt_gallery_columns', 'manage_cpt_columns'); add_action('manage_posts_custom_column', 'add_cpt_column', 10, 2);
get_the_term_list はHTML文字列を返す。preg_replaceを使いターム名だけを取り出す。
» get_the_term_list – Main Page – WordPress Codex 日本語版
» Plugin API/Filter Reference « WordPress Codex
» Plugin API/Action Reference « WordPress Codex
[1] 表示する項目はオプションでもカスタマイズできる。本記事ではフックを使ったカスタマイズを行う。
[…] Shared 投稿一覧画面の表示項目をカスタマイズ : WordPress | FindxFine -Web制作に関するメモ-. […]
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。