サポート » 使い方全般 » 複数のカスタム投稿タイプに共通のカテゴリ

  • 解決済 t t

    (@tsugubai)


    こんにちは。
    WordPressを使い始めて1ヶ月ですが、ビジネスサイトを作ろうと奮闘しています。
    カスタム投稿タイプについてご助言いただきたいのでよろしくお願いいたします。

    まず、「人形」「服」「材料」「本」のカスタム投稿タイプを作成しました。
    この4つのカスタム投稿タイプに「新着情報」という共通するカテゴリを作りたいのです。
    トップページの「新着情報」に、4つのカスタム投稿タイプの中から、新着情報のカテゴリに属する投稿をリスト表示したいと考えています。

    カスタムタクソノミの機能を使ってできるかとも思ったのですが、実際やってみると、それぞれのカスタム投稿タイプに「新着情報」カテゴリが出来上がってしまい、「人形の新着情報」「服の新着情報」といった具合になってしまって、新着情報というひとつのカテゴリの記事をすべて呼び出すといった使い方ができないのではないかと思っています。

    具体的なコードをいろいろ書いて試しているところなのですが、そもそも共通するカテゴリといった考え方自体が間違っているのか、実現するにはどういった方法があるのか、どなたかヒントをくださいませんでしょうか?

    よろしくお願いいたします。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • 新しく「共通カテゴリー(com_category)」なるタクソノミーを作って、そのなかに「新着情報(new)」というタームを作る。「共通カテゴリー」は、4つのポストすべてに付随させるようにする。
    query_posts(‘post_type=any&com_category=new’);

    もしくは、カテゴリーに「新着情報」を作って、4つのポストに付随させる。
    query_posts(‘post_type=any&cat=4’); /* 4 は Category ID*/

    とすればうまくいきそうな気がしますが。

    トピック投稿者 t t

    (@tsugubai)

    pluto1234さん、ありがとうございます。
    とりあえず、できそうだという助言をいただけたので、
    頼りない技術ですが希望を持ってもう少し頑張ります。
    成功したらまた返信させていただきます!

    トピック投稿者 t t

    (@tsugubai)

    >「共通カテゴリー」は、4つのポストすべてに付随させるようにする。

    でつまづいていたのですが、

    register_taxonomy(
    ‘com_category’,
    array(‘doll’, ‘dress’,’material’,’book’), /*ここを配列にする*/
    array(‘label’ => ‘共通カテゴリ’,
    ‘hierarchical’ => true
    )
    );

    紐付ける投稿タイプを配列にするんですね。。
    勉強になりました!!

    これで前進できそうです。
    ありがとうございました(^^)

    私は、register_taxonomy なんていう高度なことはせず、プラグインを使ってカスタムポストやタクソノミーを定義していたので、チェックボックスをチョン、チョンとするだけで、
    array(‘doll’, ‘dress’,’material’,’book’)
    に相当することをやっていました。
    ので、悩みようがありませんでした。

    トピック投稿者 t t

    (@tsugubai)

    少々前の投稿なのですが、同じネタでまだ悩んでいます。

    >トップページの「新着情報」に、4つのカスタム投稿タイプの中から、新着情報のカテゴリに属する投稿をリスト表示したいと考えています。

    が実現できません。。

    $loop = new WP_Query( array('post_type=any&com_category=new'));

    ↑1件も表示されません。

    $loop = new WP_Query( array(
             'post_type' => array('doll', 'dress','material','book'),
             'com_category=new'
            ));

    ↑指定した投稿タイプのすべての記事が表示されます(’com_category=new’の条件が無視されます)。

    $myquery['tax_query'] = array(
        array(
            'taxonomy' => 'com_category',
            'terms' => array('new'),
            'field' => 'slug',
        ),
    );
    
    $myquery['post_type'] = array('doll', 'dress','material','book');
    
    $loop = new WP_Query($myquery);

    ↑こんなのも試してみましたが、こちらも指定した投稿タイプのすべての記事が表示されます)。

    カスタム投稿タイプとカスタムタクソノミを使ったクエリ演算は、どうやったらよいでしょうか?

    モデレーター jim912

    (@jim912)

    ttさん、こんにちは。

    2番目のコードの一部を

    'com_category' => 'new'

    ではいかがでしょう。

    tax_queryは3.1からの実装になるので、3.0系では使えません。

    トピック投稿者 t t

    (@tsugubai)

    返信ありがとうございます!!
    初歩的なミスで唖然としました。。おかげで希望する動作が実現しました。

    >tax_queryは3.1からの実装になるので、3.0系では使えません。

    ネットで見た方法をそのまま試してしまいました。。気が早すぎました(汗

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「複数のカスタム投稿タイプに共通のカテゴリ」には新たに返信することはできません。