Ma question est la suivante:
$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' => '<='
)
)
) );
Et sur ma base de données, j'ai deux éléments avec post_type 'ys_product', et avec post_meta comme ceci:
Objet 1
Point 2
Le résultat de la date ('Ymd') aujourd'hui est '20141226', ce qui semble clairement se situer entre ces limites.
Mais si je recherche uniquement en filtrant par 'ys_product_status' == 'ok'; Je récupère mes deux objets. Mais lorsque j'ajoute mes deux autres méta, il ne renvoie aucun résultat.
Qu'est-ce que je fais mal?
Merci et salutations. (Utilisation de WP 4.1)
Stupide typo, j'ai bien peur.
Ce:
array (
'key' => 'ys_product_start',
'value' => date('Ymd'),
'compare' => '>='
),
array (
'key' => 'ys_product_end',
'value' => date('Ymd'),
'compare' => '<='
)
Devrait être comme ça:
array (
'key' => 'ys_product_start',
'value' => date('Ymd'),
'compare' => '<='
),
array (
'key' => 'ys_product_end',
'value' => date('Ymd'),
'compare' => '>='
)