Medienbibliothek nach Autorname sortieren

Wenn ich versuche, die Uploads meiner Mediathek nach Autorennamen zu sortieren, scheint WordPress nur nach Autoren-ID zu sortieren ( http://example.com/wp-admin/upload.php?mode=list&orderby=author&order=desc ).

Ist dies das beabsichtigte Verhalten, ein Fehler oder ein Versehen? Es scheint ziemlich nutzlos nach Autor ID zu sortieren, ich würde lieber nach Vor- und / oder Nachname sortieren.

Solutions Collecting From Web of "Medienbibliothek nach Autorname sortieren"

Sortieren nach dem Anzeigenamen des Autors:

Dies ist höchstwahrscheinlich wp_posts , da die einzige Information über den Autor in der Tabelle wp_posts die Autoren-ID ist.

Wir können es mit der Tabelle wp_users , um weitere Informationen über den Benutzer zu erhalten und die Bestellung entsprechend zu ändern.

Hier ist ein Beispiel, wie wir nach dem Anzeigenamen sortieren können :

 /** * Modify the author sorting of the media library uploads (mode=list), * use 'display_name' instead of 'post_author'. * * @see http://wordpress.stackexchange.com/a/184501/26350 */ add_action( 'load-upload.php', function() { add_filter( 'posts_clauses', function( $clauses, $q ) { if( $q->is_main_query() && 'list' === filter_input( INPUT_GET, 'mode' ) && 'author' === filter_input( INPUT_GET, 'orderby' ) ) { global $wpdb; // Join part: $clauses['join'] .= " LEFT JOIN {$wpdb->users} u ON u.ID = {$wpdb->posts}.post_author "; // Orderby part: $clauses['orderby'] = str_replace( "{$wpdb->posts}.post_author", " u.display_name", $clauses['orderby'] ); } return $clauses; }, 10, 2 ); }); 

Die Vor- und Nachnamen werden in der Tabelle wp_usermeta gespeichert. Sie müssen daher die SQL-Abfrage anpassen, beachten Sie jedoch, dass diese Felder beide leer sein können. Der Anzeigename ist dagegen immer eingestellt, afaik.