web-dev-qa-db-fra.com

Afficher les types de publication personnalisés avec la valeur du champ de date personnalisé (avant aujourd'hui) et l'ordre par champ de date personnalisé

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',
        )
    )
) );
2
guiyom84

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();
1
benny-ben