<?php //アーカイブページでターム名取得 $super1 = get_query_var( 'term' ); echo $super1 ?> <?php //アーカイブページでタクソノミー名取得 $super2 = get_query_var( 'taxonomy' ); echo $super2 ?>
スラッグが'blog'のカテゴリー情報を取得する。 <?php $cat = get_term_by( 'slug' , 'blog' , 'category' ); ?>
http://elearn.jp/wpman/function/get_term_by.html
ここよりゲットタームバイの返り値は
プロパティ名 | データ型 | 意味 |
---|---|---|
term_id | int | ID |
name | string | 名前 |
slug | string | スラッグ |
term_group | int | グループID |
term_taxonomy_id | int | タクソノミーID |
taxonomy | string | タクソノミー名。カテゴリーの場合は’category’、タグの場合は’post_tag’となる |
description | string | 説明 |
parent | int | 親カテゴリーID。親カテゴリーがない場合は0となる |
count | int | 投稿数 |
複合 <?php //カテゴリー・タグ情報を取得(slug,アーカイブページでターム名取得,タクソノミー名取得) $term = get_term_by('slug',get_query_var( 'term' ),get_query_var( 'taxonomy' ) ); ?>
そこで分岐する
<?php //$termにはいってる情報で分岐 if ( $term->parent ) { // 親IDが入ってれば (子だったら) wp_list_categories( array( 'taxonomy' => get_query_var( 'taxonomy' ), 'child_of' => $term->parent,//親のIDを出力 'hide_empty' => 0, ) ); } else { //親だったらそのまま出力 wp_list_categories( array( 'taxonomy' => get_query_var( 'taxonomy' ), 'child_of' => $term->term_id, 'hide_empty' => 0, ) ); }?>