如何解决根据帖子类型的多个WP_Query args组合
我想根据帖子类型使用单独的Meta_query
自变量。
例如,我要查询具有绿色项圈的t-shirts
或具有绿色内衬的dress-shirts
,现在,我只进行一次帖子类型检查,检查t-shirts
和 dress-shirts
,然后分别检查元值,这意味着它还将显示不同的组合,例如作为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',)
),));
如何设置它以与两个不同的参数一起使用,如果帖子类型为t-shirts
,则为一个,而如果帖子类型为dress-shirts
,则为单独的arg,其外观类似于:
$query = new WP_Query(
array(
array(
'post_type' => array('t-shirts'),'Meta_query' => array(
array(
'key' => 'heal',)
),array(
'post_type' => array('dress-shirts'),'Meta_query' => array(
array(
'key' => 'sleeve',)
);
请注意,这是wp.stackexchange上同一问题的副本,因为那里几乎没有活动。
解决方法
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',)
)
)
);
,
您还可以为每种帖子类型创建两个数组,并将wp_query循环放入获取参数的函数中,因此您要使用的任何地方都足以调用循环函数,并为其提供参数数组每个帖子类型。
函数wp_loop($ args){
$ post =新的WP_Query($ args);
while($ post-> have_posts()):$ post-> the_post();
...
结束; wp_reset_postdata(); }
现在,对于每种帖子类型,我们执行以下操作: $ args =数组( 'post_type'=>'t-shirts', ... ); wp_loop($ args);对于下一个帖子类型(衬衫),我们的工作方式相同: $ args =数组( 'post_type'=>'礼服衬衫', ... ); wp_loop($ args);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。