web-dev-qa-db-fra.com

WP Requête Trier par méta valeur (date)

J'ai le code suivant où je veux trier par la clé méta "event_date" et n'afficher que les posts après la date d'aujourd'hui et 3 semaines à l'avance. En quelque sorte, rien ne se passe, même lorsque je réduis la WP Query pour simplement poster le type et la commande, rien ne s'imprime, les scripts meurent lorsque le code est inséré.

<?php $events_args = array(
    'meta_query' => array(
        array(
            'key' => 'event_date',
            'value' => date('d-m-Y', strtotime("+3 weeks")),
            'compare' => '<',
            'type' => 'DATE'
        )
    ),
    'posts_per_page' => 3, 
    'post_type' => 'event', 
    'meta_key' => 'event_date', 
    'orderby' => 'meta_value', 
    'order' => 'ASC'
    ); ?>
<?php $upcoming_events = WP_Query($events_args); ?>
<?php if($upcoming_events->have_posts()): while($upcoming_events->have_posts()): $upcoming_events->the_post(); ?>
    <a href="<?php the_permalink(); ?>"><article class="post_block">
        <h2><?php the_title(); ?></h2>
        <p class="date"><?php $date = new DateTime(get_field('event_date')); echo $date->format('d-m-Y'); ?><?php // echo get_the_date('d-m-Y'); ?></p>
        <p class="text"><?php echo get_the_excerpt(); ?></p>
    </article></a>
<?php endwhile; endif; wp_reset_postdata(); ?>

Une idée pourquoi rien ne sort? Si je lance un simple query_posts comme:

query_posts('posts_per_page=3&post_type=event&meta_key=event_date&orderby=meta_value&order=DESC');

ensuite, les événements seront imprimés, mais triés après les événements les plus récents. Je dois trier les événements d’aujourd’hui et 3 semaines à l’avance pour les afficher uniquement.

1
Dueify

Nécessaire pour entrer le format de date correct: JJM ou aaaa-mm-jj.

4
Dueify