<?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,
) );
}?>