簡體   English   中英

WordPress wp_query $ value =全部

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM