WordPressで今見ているカテゴリーのIDを取得し、query_postsに代入(改)

先日「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 でループから抜ける必要がある。

というわけだそうです。