カテゴリー一覧ページのループ外側でカテゴリーIDやスラッグを取得する方法【WordPress】

カテゴリー一覧ページのループ外側でカテゴリーIDやスラッグを取得する方法【WordPress】 Wordpress

カテゴリーアーカイブページ(カテゴリー一覧ページ)でカテゴリーIDやスラグなどの情報を取得したいができないといったことはないでしょうか?
archive.phpやcategory.phpなどのテンプレートで現在開いているカテゴリーアーカイブページのカテゴリーIDやスラグなどの情報を取得したい場合、投稿のカテゴリーを取得するための関数get_the_category()だけではこの情報を取得することができません。
そこで今回はカテゴリー一覧を開いている時、投稿からカテゴリ情報を取得するのではなく、直接カテゴリーIDやスラグを取得する方法をご紹介いたします。

直接カテゴリ一覧のカテゴリーIDを取得する方法

カテゴリー名を取得するだけならカテゴリー名をページタイトルとして表示させるsingle_cat_title()という関数があるのですが、直接カテゴリーのIDやスラッグは取得できません。カテゴリー名からIDやスラッグを間接的に取得する方法も考えられますが、もしカテゴリー名が同じでIDが異なるカテゴリーが存在した場合は正しい結果を得ることできないかもしれません。

今開いているカテゴリーのIDやスラッグなどの情報を取得するにはget_query_var()という関数が便利です。
この関数を使えば直接カテゴリーのIDやスラッグを取得することができるので正し情報を確実に受け取ることができます。

カテゴリーIDが判別できるとget_category()にこの情報を渡すことで、カテゴリー名などの情報も取得することも可能です。

get_query_var()で取得できるページ情報

せっかくなのでカテゴリーアーカイブ以外でもアーカイブテンプレートで使いそうなものを少しご紹介したいと思います。

個別の記事からカテゴリーIDやスラグを取得する場合

個別の記事からカテゴリーIDやスラグを取得する方法は、「【WordPress】個別ページ(single.php)でカテゴリー情報を取得する方法」で紹介しておりますので是非こちらもご確認ください。