カスタム投稿タイプでタクソノミーをカテゴリとして使っているときの値取得を少し(カテゴリ名、スラッグ、ID)

functions.phpで下記のようにカスタム投稿タイプを追加した場合

functions.php内がこの場合

function new_post_type(){

    $custom_post_name_1 = 'お知らせ';	//カスタム投稿タイプ名
    $custom_post_slug_1 = 'news';	//カスタム投稿タイプのスラッグ

    $args = array(
        'slug' => $custom_post_slug_1,
        'label' => $custom_post_name_1,
        'labels' => array(
            'singular_name' => $custom_post_name_1
        ),
        'has_archive' => true,
        'public' => true,
        'show_ui' => true,
        'query_var' => true,
        'capability_type' => 'post',
        'hierarchical' => false,
        'menu_position' => 4,
        'supports' => array('title','editor','thumbnail',
                          'excerpt','comments','custom-fields')
    );
    register_post_type($custom_post_slug_1 , $args);

    $args = array(
      'label' => $custom_post_name_1 . 'カテゴリ',
      'public' => true,
      'show_ui' => true,
      'hierarchical' => true,
    );
    register_taxonomy( $custom_post_slug_1 . 'cat' , $custom_post_slug_1 , $args);	//←タクソノミーの設定

    flush_rewrite_rules(false);
}
add_action('init', 'new_post_type');

タクソノミーは”newscat”となります。

この場合はのタクソノミー(カテゴリ)の名前やslug、idの取り方は下記

<?php  
	$terms = get_the_terms('', 'newscat');	//←ここでregister_taxonomyで指定した文字列 
	foreach ($terms as $term){ 	
		$cat_name = $term->name;	//タクソノミ(ターム)名
		$cat_slug = $term->slug;	//タクソノミ(ターム)スラッグ
		$cat_id = $term->term_taxonomy_id;	//タクソノミ(ターム)id
}
?>

です。
分かりにくいですが、備忘録的に。。
(functions.phpのregister_taxonomyの引数を変数と混合で書いてて分かりにくいです。すみません。。)

  • このエントリーをはてなブックマークに追加
スポンサーリンク
スポンサーリンク