J'essaie d'afficher des types d'article personnalisés avec une valeur de champ de date personnalisée antérieure à aujourd'hui. Cela fonctionne bien pour afficher les publications avant aujourd'hui, mais la commande est uniquement basée sur la date de publication. Je veux avoir le résultat ordonné par meta_key
.
J'ai essayé le code suivant et je ne comprends pas pourquoi cela ne fonctionne pas:
query_posts( array(
'post_type' => 'soiree',
'orderby' => 'meta_value',
'meta_key' => 'date_de_concert',
'meta_query' => array(
array(
'key' => 'date_de_concert',
'posts_per_page' => '-1',
'value' => date( 'Y-m-d' ),
'compare' => '<',
'type' => 'DATE',
'orderby' => 'value',
'order' => 'DESC',
)
)
) );
Je préfère utiliser WP_Query (pour plus d’informations, lisez " Quand devriez-vous utiliser WP_Query vs query_posts () vs get_posts ()? "), essayez ceci:
$args = array(
'post_type' => 'soiree',
'post_status' => 'publish',
'posts_per_page' => -1,
'orderby' => 'date_de_concert',
// you don't need 'meta_key' => 'date_de_concert' when using meta_query
//'meta_key' => 'date_de_concert',
'order' => 'DESC',
'meta_query' => array(
array(
'key' => 'date_de_concert',
'value' => strtotime( 'today' ),
'compare' => '<'
)
)
);
$concert_query = new WP_Query( $args );
if ( $concert_query->have_posts() ) : while ( $concert_query->have_posts() ) : $concert_query->the_post();