【WordPress】アーカイブページで現在のカテゴリ・タグの情報を簡単に取得する方法
1. 以下の関数をそのままfunctions.php内の最下部あたりに貼り付けます。
/*
アーカイブページで現在のカテゴリー・タグ・タームを取得する
*/
function get_current_term(){
$id;
$tax_slug;
if(is_category()){
$tax_slug = "category";
$id = get_query_var('cat');
}else if(is_tag()){
$tax_slug = "post_tag";
$id = get_query_var('tag_id');
}else if(is_tax()){
$tax_slug = get_query_var('taxonomy');
$term_slug = get_query_var('term');
$term = get_term_by("slug",$term_slug,$tax_slug);
$id = $term->term_id;
}
return get_term($id,$tax_slug);
}
2. あとはアーカイブ(category.php、tag.phpなど)テンプレートの任意の場所に以下のソースコードを記述するだけ!
//カテゴリ・タグ・カスタムタクソノミー オブジェクトを取得 $term = get_current_term(); //以下は必要に応じて記述 echo $term->name; //名前を表示 echo $term->slug; //スラッグを表示 echo $term->description; //説明文を表示 echo $term->count; //投稿数を表示
地味な関数ですが今まではアーカイブの種類ごとに記述を変更する必要がありましたが、この関数で各アーカイブ共通の記述で情報が取得できるようになるので重宝するかと思います。
※この関数は投稿ページ(single.php)では使用できません。投稿ページではget_the_category()やget_term()をお使いください。