wp_query mit mehreren benutzerdefinierten Feldern

Meine Frage ist das:

$products = new WP_Query( array( 'post_type' => 'ys_product', 'orderby' => array( 'date' ), 'order' => 'DESC', 'posts_per_page' => 8, 'meta_query' => array( 'relation' => 'AND', array( 'key' => 'ys_product_status', 'value' => 'ok' ), array ( 'key' => 'ys_product_start', 'value' => date('Ymd'), 'compare' => '>=' ), array ( 'key' => 'ys_product_end', 'value' => date('Ymd'), 'compare' => '<=' ) ) ) ); 

Und auf meiner DB habe ich zwei Einträge mit post_type ‘ys_product’ und mit post_meta wie folgt:

Gegenstand 1

  • meta_key ys_product_status = ‘ok’
  • meta_key ys_product_start = ‘20141101’
  • meta_key ys_product_end = ‘20141230’

Punkt 2

  • meta_key ys_product_status = ‘ok’
  • meta_key ys_product_start = ‘20141101’
  • meta_key ys_product_end = ‘20150131’

Das Ergebnis des Datums (“Ymd”) ist heute “20141226”, was eindeutig zwischen diesen Grenzen liegt.

Aber wenn ich nur nach ‘ys_product_status’ suche == ‘ok’; Ich bekomme meine zwei Sachen. Aber wenn ich meine zwei anderen Meta hinzufügen, wird es überhaupt keine Ergebnisse zurückgeben.

Was mache ich falsch?

Danke und Grüße. (Mit WP 4.1)

Solutions Collecting From Web of "wp_query mit mehreren benutzerdefinierten Feldern"

Dummer Tipperrors, fürchte ich.

Dies:

 array ( 'key' => 'ys_product_start', 'value' => date('Ymd'), 'compare' => '>=' ), array ( 'key' => 'ys_product_end', 'value' => date('Ymd'), 'compare' => '< =' ) 

Sollte so sein:

 array ( 'key' => 'ys_product_start', 'value' => date('Ymd'), 'compare' => '< =' ), array ( 'key' => 'ys_product_end', 'value' => date('Ymd'), 'compare' => '>=' )