WordPress | カテゴリページでのカテゴリ名やカテゴリIDの取得方法

WordPress 取得,WordPress

WordPress | カテゴリページでのカテゴリ名やカテゴリIDの取得方法

WordPressのカテゴリページ上でのカテゴリ名やカテゴリIDの取得方法です。

記事・固定ページで使えるWP関数はカテゴリページでは使えない場合もあるので注意、カテゴリページかどうかを判定した中で処理するようにします。

if(is_category()){
 //カテゴリページ
}

カテゴリIDの取得方法

global $catを使ってカテゴリIDを取得する

カテゴリIDを取得するのに簡単な方法として、global $catを使ってグローバル変数からカテゴリIDを取得可能です。

このコードは、カテゴリIDがPHPの変数に値として代入されます。

global $cat;
echo $cat;
//11など

get_cat_ID()を使ってカテゴリIDを取得する

get_cat_ID()はカテゴリページ、記事ページでも使えるWP関数で、カテゴリ名を引数に指定する事でカテゴリIDを取得することが可能です。

このWP関数はPHP変数として取得可能です。

$cat_id = get_cat_ID( $cat_name );

※get_cat_ID()は引数に値を指定していないとカテゴリページ・記事ページのいずれもエラーとなるので注意です。

カテゴリ名の取得方法

single_cat_title()を使ってカテゴリ名を取得する

single_cat_title()を使う事で、カテゴリページに属するカテゴリ名を取得、表示可能です。
このWP関数は、子カテゴリページであれば子カテゴリ名を取得します。

single_cat_title( 手前に出力するテキスト , HTML出力の可否);

カテゴリ名をHTML出力

オプション引数を指定しない場合は、カテゴリ名がHTML出力されます。

single_cat_title();
//カテゴリ名がHTML出力される

指定した文字列を先頭にカテゴリ名をHTML出力

第一引数を指定すると指定した文字列を先頭にカテゴリ名がHTML出力されます。

single_cat_title( 'カテゴリ:' );
//指定した文字列とカテゴリ名がHTML出力される

PHP変数の値として取得

第二引数にてfalseを指定するとHTML出力はされず、PHP変数の値として取得可能です。

※第二引数のデフォルト値はtrue、頭文字列が不要でも第一引数には空文字を指定します。

$cat_name = single_cat_title( '', false);
//カテゴリ名がPHPの変数として取得できる

カテゴリ名とカテゴリIDを取得する方法

single_cat_title()でカテゴリ名を取得してget_cat_ID()でカテゴリIDを取得しています。

カテゴリIDはglobal $catで取得できますが、子カテゴリページ中で親カテゴリIDを取得したい場合など、get_cat_ID()を利用する事があります。

if(is_category()){
 $cat_name = single_cat_title( '', false);
 $cat_id = get_cat_ID( $cat_name );
}