正しいカテゴリIDの取得方法についてです。
私の記事以外では、
1 2 3 |
$cat_now = get_the_category(); $cat_now = $cat_now[0]; $cat_id = $cat_now->cat_ID; |
と書けば、カテゴリIDが取得出来ると書いていますが、嘘です。
これでは、現在表示しているアーカイブページのIDをうまく取得出来ません。
最新記事が所属している最下層のカテゴリIDが取得されてしまいます。
つまり、
a > b > c > ページ
というa,b,cに所属しているページがあって、そのページがaのカテゴリで一番最新の記事とすれば、cのカテゴリIDが取得されてしまいます。
正しく、表示されているカテゴリIDを取得したければ、下記のようなコードを書いて下さい。
1 2 3 4 5 6 |
$cat_id = get_query_var('cat'); if( !$cat_id ){ $cat_now = get_the_category(); $cat_now = $cat_now[0]; $cat_id = $cat_now->cat_ID; } |
以上です。