前回はカスタム投稿を1つだけ追加した場合に
管理画面の右側にカテゴリーを表示させる方法を記載しました。
では2つ追加した場合はどうなっていくか解説致します。
複数のカスタム投稿タイプを設定している場合
設定はこんな感じになってます
投稿タイプ スラッグ | 投稿タイプ ラベル | タクソノミー スラッグ | タクソノミー ラベル | |
---|---|---|---|---|
1 | blog | ブログ | blog_category | カテゴリー |
2 | works | 実例 | works_category | カテゴリー |
では早速コードをみていきましょう。
単体ではなく2つあるので、それぞれ設定しなければ表示されませんので
ifで分岐していきます。
function add_custom_column( $defaults ) {
global $post_type;
if ( 'blog' == $post_type ) {
$defaults['blog_category'] = 'カテゴリー';
}
elseif ( 'works' == $post_type ) {
$defaults['works_category'] = 'カテゴリー';
}
return $defaults;
}
add_filter('manage_posts_columns', 'add_custom_column');
function add_custom_column_id($column_name, $id) {
if( $column_name == 'blog_category' ) {
echo get_the_term_list($id, 'blog_category', '', ', ');
}
elseif( $column_name == 'works_category' ) {
echo get_the_term_list($id, 'works_category', '', ', ');
}
}
add_action('manage_blog_posts_custom_column', 'add_custom_column_id', 10, 2);
add_action('manage_works_posts_custom_column', 'add_custom_column_id', 10, 2);
こうすることで
ブログと実例にそれぞれカテゴリーを表示することができました!
下の実例の方にカテゴリ表示が取得できてないですね💦
これの取得もif構文で指定しないと取得してきませんね。。
次回はこの取得を説明してみましょう!
修正です。
register_taxonomy の配列($args)に
"show_admin_column" => true,
これを追加するだけでいけました💦
- お仕事のご依頼やお問い合わせはフォームやツイッターにてお気軽にお問い合わせ下さい。
- お問い合わせフォーム
- » 高橋しゃちょー (@osaka_dos) | Twitter