例えばvagrantでローカルにWordPressのテスト環境を作成する場合に、本番環境と投稿カテゴリのIDが合わなくて苦労することがあります。(私だけ?)
そんなときは、カテゴリのスラッグを利用してカテゴリのID(term_id)を参照すれば、カテゴリのIDを気にしなくて済みます。
$categories = array('cat1', 'cat2', 'cat3');
$ids = array();
foreach ($categories as $value) {
$ids[] = get_category_by_slug($value)->term_id;
}
$args = array(
'category__in'=> $ids,
'posts_per_page' => 5,
'order' => 'DESC'
);
query_posts( $args );
と書いたのですが、category_nameを使えば済む話でした。
//$categories = array('cat1', 'cat2', 'cat3');
//$ids = array();
//foreach ($categories as $value) {
// $ids[] = get_category_by_slug($value)->term_id;
//}
$args = array(
'category_name'=> 'cat1, cat2, cat3',
'posts_per_page' => 5,
'order' => 'DESC'
);
query_posts( $args );