Ordinare WP Query per valore meta (data)
20 nov 2014, 19:03:22
Visualizzazioni: 16.9K
Voti: 1
Ho il seguente codice in cui voglio ordinare per la meta key "event_date" e mostrare solo i post con data successiva a oggi e fino a 3 settimane nel futuro. In qualche modo non succede nulla, anche quando semplifico la WP Query solo al tipo di post e all'ordinamento, non viene stampato nulla, lo script semplicemente muore dove il codice è inserito.
<?php $events_args = array(
'meta_query' => array(
array(
'key' => 'event_date', // Chiave meta per la data dell'evento
'value' => date('d-m-Y', strtotime("+3 weeks")), // Data odierna + 3 settimane
'compare' => '<', // Confronto "minore di"
'type' => 'DATE' // Tipo di dato
)
),
'posts_per_page' => 3, // Numero di post da mostrare
'post_type' => 'event', // Tipo di post
'meta_key' => 'event_date', // Chiave meta per l'ordinamento
'orderby' => 'meta_value', // Ordina per valore meta
'order' => 'ASC' // Ordinamento ascendente
); ?>
<?php $upcoming_events = new 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(); ?>
Qualche idea sul perché non viene restituito alcun output? Se eseguo una semplice query_posts come:
query_posts('posts_per_page=3&post_type=event&meta_key=event_date&orderby=meta_value&order=DESC');
allora stamperà gli eventi, ma li ordinerà per gli eventi più recenti, mentre io ho bisogno di ordinare solo gli eventi da oggi fino a 3 settimane nel futuro.
Commenti
Mostra i restanti 1 commenti
Tutte le risposte alla domanda
1
Domande correlate