WordPress get_posts() orderby post__in

get_posts reihenfolge nicht ändern
Quelle: Pixabay, Geofreund

Eine nach speziellen Kriterien dynamische Zusammenstellung von Post IDs soll die Basis für einen Query sein, der die Posts genau in der Reihenfolge ausgibt, wie die IDs übergeben werden.

'orderby' => 'none'; gab die IDs in absteigender Reihenfolge sortiert aus, das war es nicht. In diesem speziellen Fall ist 'orderby' => 'post__in' die geeignete Angabe.

my_special_post_order() ist die Funktion mit der die IDs ermittelt werden und steht hier nur repräsentativ für die Quelle der Beiträge um die es geht.

function pppf_get_them_together() {
    $ids = my_special_post_order();
    $args = array( 
        'orderby' => 'post__in',
        'order' => 'ASC',
        'post-type' => 'post', 
        'post-status' => 'publish', 
        'post__in' => $ids, 
        'posts_per_page' => 12
    );
    $myposts = get_posts( $args );
    foreach( $myposts as $post ) :
        setup_postdata($post);
       // do_stuff...
     endforeach; 
     wp_reset_postdata();
}

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable