web-dev-qa-db-fra.com

Interrogation du type d'article personnalisé avec 2 champs personnalisés (plage de dates)

J'ai cherché WP Codex et StackExchange et obtenu quelques indices, mais cette requête ne fonctionne pas. J'ai deux champs personnalisés associés à chaque exposition au format Y-m-d: exstart-date étant la date de début de l'exposition et exend-date étant la date de fin.

Je peux facilement afficher les expositions à venir et les expositions passées, mais je ne peux pas obtenir le droit meta_query d'afficher les expositions actuelles (avec une date de début inférieure ou égale à aujourd'hui ET une date de fin supérieure ou égale à aujourd'hui). Le code ci-dessous n'affiche rien sur la page. Aidez-moi?

$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$today = date('Y-m-d', strtotime('-6 hours'));
query_posts(array(
    'post_type' => 'exhibitions', 
    'posts_per_page' => 6, 
    'paged' => $paged,
    'orderby' => 'title',
    'order' => 'DESC',
    'meta_query'=>array(
        'relation'=>'AND',
        array(
            'key' => 'exstart-date',
            'value' => $today,
            'compare' => '<=',
            'type' => 'CHAR'
            ),
        array(
            'key' => 'exend-date',
            'value' => $today,
            'compare' => '>=',
            'type' => 'CHAR'
            )
        )
    ));
if (have_posts()) :
while (have_posts()) : the_post();
4
Ray Gulick

Voici le code que j'ai fini avec qui fonctionne. J'aurais dû mentionner que la requête se trouvait dans la boucle, car lorsque je l'ai montrée à Damian Taggart de Mindshare Studios, il a remarqué qu'il disait que je devrais utiliser WP_Query plutôt que query_posts. Merci à Milo et à d’autres d’avoir tenté de m’aider sans toutes les informations nécessaires.

<?php
     $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
     $today = date('Y-m-d', strtotime('-6 hours'));
     $myquery = new WP_Query(array(
     'post_type' => 'exhibitions', 
     'posts_per_page' => 6,  
     'paged' => $paged,
     'orderby' => 'title',
     'order' => 'ASC',
     'meta_query'=>array(
            'relation'=>'AND',
            array(
                'key' => 'exstart-date',
                'value' => $today,
                'compare' => '<=',
                'type' => 'CHAR'
            ),
            array(
                'key' => 'exend-date',
                'value' => $today,
                'compare' => '>=',
                'type' => 'CHAR'
            )
        )
    ));
    if ($myquery->have_posts()) :
    while ($myquery->have_posts()) : $myquery->the_post();
?>
2
Ray Gulick