2017-08-31 1 views
1

Wie kann ich es zwischen den beiden Ganzzahlen filtern?wordpress neu WP_Query zwischen nicht funktioniert

Das ist mein PHP

$filter = array(
    'post_type'  => 'request', 
    'post_status' => 'publish', 
    'posts_per_page' => -1, 
    'meta_query' => array(
     'key' => 'first_posting_date', 
     'value' => array('20170826','20170829'), //already tried to remove the qoutes on numbers 
     'compare' => 'BETWEEN' 
     ) 
    ); 
    $posts = new WP_Query($filter); 
    print_r($posts); 

Die Ergebnisse print_r es die Außenseite des gefilterten zweier ganzer Zahlen anzeigt. Wo bin ich falsch gelaufen?

Antwort

0

Mehrere Meta-Werte können mit BETWEEN mit einem Array Wert verglichen werden:

'meta_query' => array(
    array(
     'key'  => 'first_posting_date', 
     'value' => array('20170826','20170829'), 
     'type' => 'numeric', 
     'compare' => 'BETWEEN', 
    ), 
    ), 

du in Codex sehen

+0

nicht arbeiten an mich –

+0

Verwendung 'value' => Array (20170826,20170829) so sein, ohne Anführungszeichen – Aaron

+0

versuchte es schon sir –

1

Probieren Sie es aus:

//Date 
$start = '2017-08-26'; 
$end = '2017-08-29'; 
$filter = array(
    'post_type' => 'request', 
    'post_status' => 'publish', 
    'posts_per_page' => -1, 
    'meta_key' => 'first_posting_date', 
    'meta_query' => array(
     array(
      'key' => 'first_posting_date', 
      'value' => array($start, $end), 
      'compare' => 'BETWEEN', 
      'type' => 'DATE' 
     ) 
    ) 
); 

// Make the query 
$posts = new WP_Query($filter); 
print_r($posts); 
0

Die Antwort auf meine Frage ist, relation und setzen Sie das Array von meta_query zu anderen Array

, so wäre es

$filter = array(
    'post_type'  => 'request', 
    'post_status' => 'publish', 
    'posts_per_page' => -1, 
    'meta_query' => array(
     "relation" => "AND", 
     array(
      'key' => 'first_posting_date', 
      'value' => array('20170826','20170829'), 
      'compare' => 'BETWEEN' 
     ) 
     ) 
    ); 
    $posts = new WP_Query($filter); 
    print_r($posts); 
Verwandte Themen