web-dev-qa-db-ja.com

カテゴリIDとカスタムのpost_typeによるWP_Query

特定のカテゴリ(デフォルト、カスタムではない)およびカスタム投稿タイプに属するすべての投稿をクエリする必要があります。それと同じくらい簡単です。うまくいかないという事実は、私にとってはばかげている。なにか足りない場合は?

これが私が試したものです:

$args=array(
    'posts_per_page' => 50, 
    //'taxonomy' => 'category',      
    'post_type' => 'my_custom_type'
    'category__in' => array($cat_id),
);
$wp_query = new WP_Query( $args );

それから

$args=array(
    'posts_per_page' => 50,    
    'post_type' => 'my_custom_type'
    'tax_query' => array(
        array(
            'taxonomy' => 'category',
            'field'    => 'id',
            'terms'    => $cat_id,
        ),
    ),
 );
$wp_query = new WP_Query( $args );

そしてもちろん

$args=array(
    'posts_per_page' => 50, 
    'post_type' => 'my_custom_type'
    'category' => $cat_id,
);
$wp_query = new WP_Query( $args );

また、$argsキーの追加/名前変更/削除の組み合わせもあります。

投稿の種類別にすべての投稿を取得し、それらをループ処理してカテゴリでフィルタリングすることは効果的な選択肢ではありません。

助けてください。

2
aexl

これを試して、それは私のために働きます。

    $args=array(
    'posts_per_page' => 50, 
    'post_type' => 'my_custom_type'
    'cat' => $cat_id,
);
$wp_query = new WP_Query( $args );

カテゴリパラメータ

cat (int): use category id.
category_name (string): use category slug (NOT name).
category__and (array): use category id.
category__in (array): use category id.
category__not_in (array): use category id.
5
kunal Gauswami