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 );
}
ディスカッション
コメント一覧
まだ、コメントがありません