我想根据帖子类型使用单独的meta_query
参数。
例如,我想查询具有绿色衣领的t-shirts
或具有绿色内衬dress-shirts
,现在我只做一个后期类型检查,其中我检查t-shirts
和dress-shirts
,并且我分别检查元值,这意味着它还将显示不同的组合,如具有1绿色内衬的t-shirts
$query = new WP_Query(array(
'post_type' => array('t-shirts', 'dress-shirts'),
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'collar',
'value' => 'green',
),
array(
'key' => 'inner-lining',
'value' => 'green',
)
),
));
我如何设置它来使用两个不同的参数,一个是如果帖子类型是t-shirts
,另一个是单独的参数,如果帖子类型为dress-shirts
,看起来像:
$query = new WP_Query(
array(
array(
'post_type' => array('t-shirts'),
'meta_query' => array(
array(
'key' => 'heal',
'value' => 'green',
)
),
),
array(
'post_type' => array('dress-shirts'),
'meta_query' => array(
array(
'key' => 'sleeve',
'value' => 'green',
)
),
),
)
);
做两个单独的查询是不起作用的,因为这会打乱分页。
请注意,这是wp.stackeexchange上相同问题的副本,因为那里几乎没有活动
WP_Query不接受此参数格式。你可以试试下面的代码
$query = new WP_Query(
array(
'post_type' => array( 't-shirts', 'dress-shirts'),
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'heal',
'value' => 'green',
),
array(
'key' => 'sleeve',
'value' => 'green',
)
)
)
);
您还可以为每种post类型创建两个数组,并将wp_query循环放在一个获取参数的函数中,因此,无论您想在哪里使用,都足以调用循环函数,并为每个post类型提供一个参数数组。
函数wp_loop($args({
$post=新的WP_Query($args(;
while($post->have_posts(((:$post->the_post((;
...
endwhile;wp_reset_postdata((;}
现在,对于每种帖子类型,我们都会执行以下操作:$args=数组('post_type'=>'t恤衫,。。。);wp_loop($args(;
对于下一个帖子类型(连衣裙衬衫(,我们的工作方式相同:$args=数组('post_type'=>'连衣裙’,。。。);wp_loop($args(;