新しく「共通カテゴリー(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);
↑こんなのも試してみましたが、こちらも指定した投稿タイプのすべての記事が表示されます)。
カスタム投稿タイプとカスタムタクソノミを使ったクエリ演算は、どうやったらよいでしょうか?
ttさん、こんにちは。
2番目のコードの一部を
'com_category' => 'new'
ではいかがでしょう。
tax_queryは3.1からの実装になるので、3.0系では使えません。
トピック投稿者
t t
(@tsugubai)
返信ありがとうございます!!
初歩的なミスで唖然としました。。おかげで希望する動作が実現しました。
>tax_queryは3.1からの実装になるので、3.0系では使えません。
ネットで見た方法をそのまま試してしまいました。。気が早すぎました(汗