先日「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 でループから抜ける必要がある。
というわけだそうです。


最近のコメント