[英]WordPress wp_query $value = ALL
我使用的WP_Query效果很好。 現在,我想為用戶添加不按“貓”或“城市”過濾的功能。
因此,我能否僅將特殊的字符(例如“ *”或“%”)指定為$ category到“所有值”這一天? 暫時找不到...我應該使用其他方式嗎? 謝謝
$args = array(
'post_type' => 'post',
'cat' => $category,
'meta_query' => array(
array(
'key' => 'usp-custom-rdvp_city',
'value' => $city,
'compare' => 'LIKE',
),
array(
'relation' => 'OR',
array(
'key' => 'usp-custom-rdvp_date_event_start',
'value' => array( $fromDate, $toDate),
'type' => 'DATE',
'compare' => 'BETWEEN',
),
array(
'key' => 'usp-custom-rdvp_date_event_end',
'value' => array( $fromDate, $toDate),
'type' => 'DATE',
'compare' => 'BETWEEN',
),
),
),
);
因此,我能否僅將特殊的字符(例如“ *”或“%”)指定為$ category到“所有值”這一天?
否。當您需要所有類別時,您不希望不包含cat
參數。 好的,考慮一下。 您將如何在一段代碼中實現“或”或“查詢”參數?
如果指定了類別,則可以動態添加cat
參數。
if ( $category ) {
$args['cat'] = $category;
}
使用與上面對類別相同的方法。 如果有一個城市,則添加該城市的元查詢。
if ( $city ) {
$args['meta_query'][] = array(
'key' => 'usp-custom-rdvp_city',
'value' => $city,
'compare' => 'LIKE',
);
}
那我們放在一起吧。
$args = array(
'meta_query' => array(
array(
'relation' => 'OR',
array(
'key' => 'usp-custom-rdvp_date_event_start',
'value' => array( $fromDate, $toDate ),
'type' => 'DATE',
'compare' => 'BETWEEN',
),
array(
'key' => 'usp-custom-rdvp_date_event_end',
'value' => array( $fromDate, $toDate ),
'type' => 'DATE',
'compare' => 'BETWEEN',
),
),
),
);
if ( $category ) {
$args['cat'] = $category;
}
if ( $city ) {
$args['meta_query'][] = array(
'key' => 'usp-custom-rdvp_city',
'value' => $city,
'compare' => 'LIKE',
);
}
順便說一句,您無需指定'post_type' => 'post'
,因為默認情況下它設置為post
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.