Ich arbeite an einer benutzerdefinierten Taxonomiebegriffseitenvorlage, in der die mit dem Begriff verknüpften Elemente nach Veröffentlichungsdatum sortiert werden sollen (benutzerdefiniertes Datumsfeld) - und wenn mehrere Elemente am selben Tag vorhanden sind (Formatierung wie JJJJ-MM). DD), um diese nach Titel und schließlich nach Titel zu sortieren, wenn das benutzerdefinierte Feld nicht ausgefüllt wurde (ältere Elemente).
Also habe ich es auf hundert verschiedene Arten mit einer WP_query versucht und es gibt die meisten Ergebnisse so zurück, wie ich sie haben möchte - aber in diesem Fall gibt es nur die Elemente zurück, die den meta_key von publication_date haben. Alle anderen Elemente werden ignoriert und nicht angezeigt. Ich habe eine meta_query mit der Beziehung "oder" ausprobiert und das publication_date als EXISTS und NOT EXISTS verglichen, aber das ergab 0 Ergebnisse für mich.
Außerdem wird auf der Site noch 3.5.2 ausgeführt, und sie möchten kein Upgrade durchführen.
Hier ist meine letzte Abfrage, mit der ich die Posts erhalte, bei denen das benutzerdefinierte Feld publication_date in der richtigen Reihenfolge angezeigt wird:
$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',
));
Ich habe auch versucht, wpdb zu verwenden und eine SQL-Abfrage auszuführen, bin mir aber nicht sicher, wie ich das erreichen soll. Wenn mir jemand helfen könnte, wäre das großartig!
Danke im Voraus.
'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' ) ),
aber die Bestellung funktioniert nicht: \