Bestellen Sie Beiträge nach Metawert und Datum

Ich versuche, Beiträge basierend auf einem Post-Meta-Wert und Datum zu sortieren. Ich verwende dieses Plugin ( https://github.com/JonMasterson/WordPress-Post-Like-System ), um ein ähnliches System zu meinen Posts hinzuzufügen.

Der Code, den ich habe, ist wie folgt.

$args = array( 'numberposts' => 15, 'offset' => 0, 'category' => 0, 'meta_key' => '_post_like_count', 'orderby' => 'meta_value_num post_date', 'order' => 'DESC', 'post_type' => 'post', 'suppress_filters' => true ); $recent_posts = wp_get_recent_posts( $args ); 

Das Plugin fügt der Tabelle einen _post_like_count , wenn mindestens eine Person den Beitrag mag. Der obige Code gibt nur Beiträge zurück, die mindestens eine gleiche Anzahl haben (sagen wir 3 von 15).

Wie bekomme ich die verbleibenden Beiträge, die nicht den Metaschlüssel haben, und sortiere sie nach dem Datum?

Solutions Collecting From Web of "Bestellen Sie Beiträge nach Metawert und Datum"

Wenn Sie beide Posts haben möchten, die einen Meta-Schlüssel haben und nicht haben, benötigen Sie eine Meta-Abfrage für die OR Verknüpfung, um sowohl Posts mit Schlüssel als auch solche, bei denen sie nicht existiert, auszuwählen.

 $args = array( 'meta_query' => array( 'relation' => 'OR', array( 'key' => '_post_like_count', 'compare' => 'EXISTS' ), array( 'key' => '_post_like_count', 'compare' => 'NOT EXISTS' ) ), 'orderby' => 'meta_value_num post_date', 'order' => 'DESC' ); $recent = new WP_Query( $args );