タグ: term_id

  • テスト環境と本番環境で投稿カテゴリの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 );