Quantcast
Channel: プログラミング
Viewing all articles
Browse latest Browse all 7878

WordPress カテゴリー・タクソノミー 一覧ページで現在のカテゴリー・タクソノミー名を取得したい - かもメモ

$
0
0

category.php, taxonomy-{tax_slug}.phpの所謂、カテゴリー・タクソノミの一覧ページで選択されているカテゴリー名・タクソノミー名を取得したい

🙅 get_the_terms を使うをバグが発生しうる

<?phpfunction get_tax_name($tax_slug='category'){global$post;

  $terms= get_the_terms($post, $tax_slug);
  return$termObj[0]->name??'';
}

上記のような get_the_termsを使った方法では下記のようなバグが発生しうる
get_the_termsは投稿に紐づくカテゴリー・タクソノミーの一覧を取得するので、アーカイブページの最初の $postが複数のカテゴリーやタクソノミーを持っていた場合、選択されたものを別のカテゴリー名・タクソノミー名が取得される可能性がある。 また、投稿が 0 件だと $postが存在しないのでカテゴリー名・タクソノミー名の取得そのものができない

🙆 single_cat_title を使う

single_cat_title('', false)を使うとカテゴリーでもタクソノミーでも現在のカテゴリー名・タクソノミー名が取得できる!

<?phpfunction get_tax_name(){return single_cat_title('', false);
}

taxonomy 名なども不要なので簡単!
どうやら内部的には single_term_titleが呼ばれれいるので taxonomy でも問題なく取得できてるっぽい

<?phpfunction single_cat_title($prefix='', $display=true){return single_term_title($prefix, $display);
}

cf. single_cat_title() – Function | Developer.WordPress.org

このメソッドを探すのが一番難しかった…

おわり


[参考]


Viewing all articles
Browse latest Browse all 7878

Trending Articles