我正在使用一种自定义的帖子类型,并试图使查询工作包括两种类型(自定义分类法)。
我有这个,它只适用于一种类型(我不想显示列表中当前正在查看的小部件,“post\\u not\\u in”会解决这个问题)。
$myposts = new WP_Query(
array(
\'post_type\' => \'widgets\',
\'post__not_in\' => array($wp_query->post->ID),
\'genre\' => \'styleA\'
)
);
但当我试图列出一个包含两种流派的列表时,我遇到了麻烦。
我已经尝试过各种版本:
$myposts = new WP_Query(
array(
\'post_type\' => \'widgets\',
\'post__not_in\' => array($wp_query->post->ID),
\'genre\' => array(\'styleB\', \'styleC\')
)
);
我在抄本上读到的所有东西似乎都使用了这样的语法,有人知道我错在哪里吗?
非常感谢。
最合适的回答,由SO网友:turbonerd 整理而成
应该采取以下措施:
$myposts = new WP_Query( array(
\'post_type\' => \'widgets\',
\'post__not_in\' => array($wp_query->post->ID),
\'tax_query\' => array(
array(
\'taxonomy\' => \'genre\',
\'field\' => \'slug\',
\'terms\' => array( \'styleA\', \'styleB\' )
)
)
) );
我不确定您是否需要添加
\'relation\' => \'OR\',
之后
line 4, 因此,请尝试使用/不使用该选项(即
\'tax_query\'...
行)。