Je travaille sur un modèle de page de terme de taxonomie personnalisé où nous voulons que les éléments qui sont connectés au terme soient triés par date de publication (champ de date personnalisé) - et s'il y a plusieurs éléments le même jour (formaté comme AAAA-MM- DD) pour ensuite les trier par titre, et enfin trier par titre si le champ personnalisé n'a pas été rempli (anciens éléments).
Donc, je l'ai essayé de cent façons différentes avec un WP_query et il retourne la plupart des résultats comme je le veux - mais dans ce cas, il ne renvoie que les éléments qui ont la méta-clé de publication_date. Tous les autres éléments sont ignorés et ne s'affichent pas. J'ai essayé une méta-requête en utilisant une relation "ou" et j'ai comparé la date de publication comme EXISTE et NON EXISTE, mais cela a renvoyé 0 résultat pour moi.
En outre, le site exécute toujours la version 3.5.2 et ils ne souhaitent pas effectuer de mise à niveau.
Voici ma requête la plus récente qui m'obtient les articles dont le champ personnalisé publication_date s'affiche dans le bon ordre:
$term = get_queried_object(); // find the term of the taxonomy page we are on
$wp_query = new WP_Query( array(
'post_type' => 'resource',
'tax_query' => array(
array(
'taxonomy' => 'resource_types',
'field' => 'slug',
'terms' => $term->name,
)),
'meta_key' => 'publication_date',
'orderby' => 'meta_value_num',
'order' => 'DESC',
'paged' => $paged,
'posts_per_page' => '10',
));
J'ai également essayé d'utiliser wpdb et d'exécuter une requête SQL, mais je ne sais vraiment pas comment accomplir ce que je veux faire. Si quelqu'un pouvait m'aider, ce serait génial!
Merci d'avance.
'meta_query' => array( 'relation' => 'OR', array( //check to see if date has been filled out 'key' => 'publication_date', 'compare' => '!=', 'value' => date('Y-m-d'), ), array( //if no date has been added show these posts too 'key' => 'publication_date', 'value' => date('Y-m-d'), 'compare' => 'NOT EXISTS' ) ),
mais la commande ne fonctionne pas: \