カスタム投稿タイプの管理画面の記事一覧にカスタムタクソノミーを表示する
Wordpress3.0でさらに強化されたカスタム投稿タイプ。さっそくカスタムタクソノミーを試してみました。管理画面でのカスタマイズもいろいろ出来るようになってる、これは便利、と、Codex見てホイホイ試してみたのですが、カスタム投稿タイプの管理画面の記事一覧にそのポストに設定したカスタムタクソノミーを表示するところでハマりました。環境はWorpress3.1+php5.xです。
どうやら、カスタム投稿タイプを定義するregister_post_type()で'hierarchical'をtrueにすると、カスタムタクソノミーが表示されないみたいです。manage_posts_custom_columnが階層化されているタクソノミーは拾えないのかな…。
これ、デフォルトではfalseに設定されているので自分で設定しなければ問題ないのですが、使うのでもないのにコピペかなんかのついで設定しちゃっていたら気をつけた方がいいです。
以下、workしているヤツです。
/* カスタム投稿タイプ */
register_post_type(
'cake',
array(
'label' => 'ケーキ',
'hierarchical' => false,
'public' => true,
'query_var' => false,
'menu_icon' => get_bloginfo('url').'cake_icon.jpg',
'supports' => array(
'title',
'editor',
'thumbnail',
'custom-fields'
)
)
);/* カスタムタクソノミー */
register_taxonomy(
'caketype',
'cake',
array(
'label' => 'ケーキの種類',
'hierarchical' => false,
)
);/* 記事一覧にカスタムタクソノミーを表示する */
//記事一覧にカラムを追加しタイトルを指定
function manage_posts_columns($columns) {
$columns['caketype'] = "ケーキの種類";
return $columns;
}function add_column($column){
//カテゴリー名取得、表示
if( 'caketype' == $column ) {
echo get_the_term_list($post_id, 'caketype');
}
}add_filter('manage_edit-cake_columns', 'manage_posts_columns');
add_action('manage_posts_custom_column', 'add_column');
【参考】ありがとうございました!
http://varl.jp/note/get_the_term_list-is_tax