1つのループで複数のカスタム投稿タイプをクエリする


14

私が尋ねようとしていることと同様の根拠をカバーする他のいくつかの投稿があることを知っています。

「投稿」に加えて、3つのカスタム投稿タイプを実行しています。特定のカテゴリに分類されたすべての投稿を取得するループを実行したい

 <?php
          $args = array(
    'post_type' => 'testimonial',
    'posts_per_page' => 1,
    'tax_query' => array(
        array ( 
                'taxonomy' => 'testimonial_category',
                'field' => 'slug',
                'terms' => 'home'
    )
)
);
$query = new WP_Query( $args );
                $postcount = 0;
            ?>
            <?php if ($query->have_posts()) : ?>
                <?php while ($query->have_posts()) : $query->the_post(); ?>
                    <?php $postcount++; ?>
//loop here
<?php wp_reset_query(); ?>   

これは私が現時点で持っているコードですが、これをどのように要約して、1つのカテゴリから複数の投稿タイプを取り込むかはわかりません。

回答:


28

post_typeビットを次のように変更します。

'post_type' => array('testimonial', 'other_post_type', 'another-post-type'),

分類法が3つの投稿タイプすべてで有効であると仮定します。それ以外の場合は、それを省略する必要があります。

どうして?配列をpost_typeフィールドに渡すことができます。


どのカテゴリ名で検索するかを言うにはどうすればよいですか。 'taxonomy' => 'testimonial_category'
dannyw24

@ user2478101:^^ tax_query私はテストしませんでしたが、あなたの質問には問題ありません。別に何をしようとしていますか?
s_ha_dum 2013年

私が選択した任意のポストに引っ張るしたいと呼ばれるhome.Iにおける用語と各ポストタイプで分類を持っている
dannyw24

私はギャンブルをしてこれを試しましたが、カスタム投稿タイプから他の投稿を引き込んでいないようです。query_posts(array( 'post_type' => array( 'post'、 'testimonial'、 'casestudy')、 'cat' => 69、 'showposts' => 3));
dannyw24 2013年

これが機能するためには、分類法がすべて同じである必要があります。用語は、私の知る限り、分類法をまたいで関連付けることはできません。core.trac.wordpress.org/ticket/12269
GhostToast
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.