Abfrage nach Autor sortieren: 1 Autor, dann andere

Ich habe einen Post-Typ namens “Artikel” und auf der Artikel-Archiv-Seite möchte ich alle Artikel anzeigen, sortiert nach Autor.

function kia_adjust_the_query( $query ) { // change posts_per_page param if ( is_post_type_archive( 'article' ) ) { set_query_var('posts_per_archive_page',-1); set_query_var('order','ASC'); set_query_var('orderby','author'); } } add_action('pre_get_posts', 'kia_adjust_the_query'); 

Das oben genannte richtet die grundlegenden Abfrageanpassungen ein. Der Blog ist jedoch hauptsächlich der eines Autors, sagen wir “Bob” … also möchte ich idealerweise alle Beiträge von Bob in eine erste Kolumne zur Betonung ziehen und dann weiter durch die anderen Autoren.

ist das möglich während der while-schleife oder brauche ich 2 separate anfragen?

// EDIT für zusätzliche Komplexität: Normalerweise versuche ich, meine Fragen auf ein Minimum zu reduzieren, aber in diesem Fall glaube ich, dass ich zu weit gegangen bin

Mein Kunde ist der einzige Autor in seinem Blog. Er verwendet jedoch ein Meta-Feld (‘guest_author’) und filtert get_the_author, um einen Pseudonym für Gast-Posts zu erstellen, die er nicht wirklich geschrieben hat, ohne Konten für andere Benutzer zu erstellen.

kann ich die Autorenbeiträge sortieren, die seine Beiträge sind (also kein Wert im Meta-Feld) und dann von den anderen Autoren (gleiche Autoren-ID, aber andere “guest_author” -Werte). Wenn dies nicht möglich ist, wäre es am besten, Dummy-Accounts für die anderen Autoren zu erstellen?

Solutions Collecting From Web of "Abfrage nach Autor sortieren: 1 Autor, dann andere"

Sie könnten das mit einem benutzerdefinierten posts_orderby :

 add_filter( 'posts_orderby', 'wpa58715_posts_orderby' ); function wpa58715_posts_orderby( $orderby_statement ) { if ( is_post_type_archive( 'article' ) ) { global $wpdb; $orderby_statement = "FIELD($wpdb->posts.post_author, 42) DESC, $wpdb->posts.post_author"; return $orderby_statement; } } 

Tauschen Sie Ihre Autoren-ID für 42 .