先日「WordPressで今見ているカテゴリーのIDを取得し、query_postsに代入」という記事を書きましたが、プログラマさんから前回のではだめ、だという指摘を受けました。
<? foreach((get_the_category()) as $cat) { $cat->cat_ID ; } $query = 'cat=' . $cat->cat_ID. '&showposts=1'; query_posts($query); ?>
↑前回の自力PHP
今回の。
<? foreach((get_the_category()) as $cat) { $cat_id = $cat->cat_ID ; break ; } $query = 'cat=' . $cat_id. '&showposts=1'; query_posts($query) ; ?>
↑うちのプログラマの修正PHP
前回のやつとの違い
・取り出した現カテゴリーIDである $cat->cat_ID を、さらに $cat_id という要素に代入。
・break で foreach のループを1回で終わらせる
あとは、一緒ですね。
現カテゴリーIDが代入されている $cat_id という要素を query_posts に指定。
プログラマさん曰く、前回のやつの問題点っていうのが2つ。
問題点1
$cat->cat_ID の記述だけだと、カテゴリーID取得しただけでおしまいだから、それを何かに代入する必要がある。
問題点2
カテゴリーを複数選択している場合、この記述だとループしてカテゴリーIDを複数もってきてしまうから、break でループから抜ける必要がある。
というわけだそうです。
最近のコメント