[英]Multiple WP_Query args combinations according to post type
我想根據帖子類型有單獨的meta_query
arguments 。
例如,我想查詢有綠色領子的 T 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',
'value' => 'green',
)
),
));
我如何設置它以使用兩個不同的參數,一個如果帖子類型是t-shirts
,一個單獨的 args 如果帖子類型是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.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',
'value' => 'green',
)
)
)
);
您還可以為每種帖子類型創建兩個 arrays 並將 wp_query 循環放在獲取參數的 function 中,因此您想要使用的任何地方都足以調用您的循環 ZC1C425268E68385D1AB5074 .
function wp_loop($args){
$post = 新的 WP_Query($args);
while($post->have_posts()): $post->the_post();
...
結束; wp_reset_postdata(); }
現在對於每個帖子類型,我們執行如下操作: $args = array( 'post_type'=>'t-shirts', ... ); wp_loop($args);
對於下一個帖子類型(禮服襯衫),我們的工作方式相同: $args = array( 'post_type'=>'dress-shirts', ... ); wp_loop($args);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.