Sortieren Sie die WP-Admin-Postliste automatisch nach einem Metaschlüssel

Ich verwende diesen folgenden Code in meiner functionsdatei, um einige benutzerdefinierte Spalten auszublenden und in meinen Post-Bearbeitungsbildschirm in wp-admin einzufügen.

Ich versuche nun, die Post-Liste nach einem Post-Meta-Feld (Nachname) sortieren zu lassen. Ich habe viele Tutorials gelesen, wie das geht, aber ich kann nichts finden, was zu dem passt, was ich habe.

Ich brauche die Spalte nicht sortierbar, ich möchte nur, dass die Liste sich automatisch nach einem benutzerdefinierten Metaschlüssel sortiert. Und, nur zur Information, ich benutze keinen benutzerdefinierten Beitragstyp. Dies ist nur der normale Posttyp.

Kann mir jemand die richtige Richtung zeigen, wie das geht?

//Add a First and Last Name column to the post edit table function topo_modify_post_table( $column ) { $column['first_name'] = 'First Name'; $column['last_name'] = 'Last Name'; return $column; } add_filter( 'manage_posts_columns', 'topo_modify_post_table' ); function topo_modify_post_table_row( $column_name, $post_id ) { $custom_fields = get_post_custom( $post_id ); switch ($column_name) { case 'first_name' : ?><a style="font-weight:bold;" href="https://wordpress.stackexchange.com/questions/84258/auto-sort-the-wp-admin-post-list-by-a-meta-key/post.php?post=&action=edit"> <a style="font-weight:bold;" href="https://wordpress.stackexchange.com/questions/84258/auto-sort-the-wp-admin-post-list-by-a-meta-key/post.php?post=&action=edit"><?php break; default: } } add_filter( 'manage_posts_custom_column', 'topo_modify_post_table_row', 10, 2 ); //Remove columns add_filter('manage_post_posts_columns', 'ST4_columns_remove_category'); // REMOVE DEFAULT COLUMNS function ST4_columns_remove_category($defaults) { // to get defaults column names: // print_r($defaults); unset($defaults['comments']); unset($defaults['date']); unset($defaults['author']); unset($defaults['title']); return $defaults; } 

Solutions Collecting From Web of "Sortieren Sie die WP-Admin-Postliste automatisch nach einem Metaschlüssel"

So etwas sollte funktionieren:

 function wpa84258_admin_posts_sort_last_name( $query ){ global $pagenow; if( is_admin() && 'edit.php' == $pagenow && !isset( $_GET['orderby'] ) && !isset( $_GET['post_type'] ) ){ $query->set( 'meta_key', 'last_name' ); $query->set( 'orderby', 'meta_value' ); $query->set( 'order', 'ASC' ); } } add_action( 'pre_get_posts', 'wpa84258_admin_posts_sort_last_name' );