Categories
WordPress

テスト環境と本番環境で投稿カテゴリのIDが異なる場合 – WordPress

例えば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 );