Wie kann man eine benutzerdefinierte Spalte auf dem Benutzer-Admin-Bildschirm sortierbar machen?

Ich bin dabei, dem Benutzer-Admin-Bildschirm eine zusätzliche Spalte hinzuzufügen, um die Firma für jeden Benutzer anzuzeigen. Es ist mir gelungen, diese Kolumne in die Tabelle zu bringen, aber ich kämpfe wirklich damit, sie alphabetisch sortierbar zu machen.

Die Spaltenüberschrift scheint als sortierbar aktiviert zu sein, aber wenn ich darauf klicke, um die Reihenfolge der Listen zu reorganisieren, wird die Tabelle alphabetisch nach dem Benutzernamen und nicht nach der Firma sortiert.

Ich habe viel Zeit im Internet verbracht, um andere Lösungen zu suchen und anzupassen, aber immer noch kein Glück. Ich habe viele Beispiele gesehen, wie benutzerdefinierte Spalten für Post-Admin-Bildschirme sortiert werden können, aber nicht für den Benutzer-Admin-Bildschirm.

Unten ist der Code, den ich derzeit verwende, um eine Spalte “Firma” auf dem Benutzer-Admin-Bildschirm zu generieren, und es zieht die Autoren-Metadaten “Firma” ein.

//MAKE THE COLUMN SORTABLE function user_sortable_columns( $columns ) { $columns['company'] = 'Company'; return $columns; } add_filter( 'manage_users_sortable_columns', 'user_sortable_columns' ); add_action( "pre_get_users", function ( $WP_User_Query ) { if ( isset( $WP_User_Query->query_vars["orderby"] ) && ( "company" === $WP_User_Query->query_vars["orderby"] ) ) { $WP_User_Query->query_vars["meta_key"] = "company_name"; $WP_User_Query->query_vars["orderby"] = "meta_value"; } }, 10, 1 ); 

Solutions Collecting From Web of "Wie kann man eine benutzerdefinierte Spalte auf dem Benutzer-Admin-Bildschirm sortierbar machen?"

Die Aktion request funktioniert mit Post. Für Benutzer ist pre_get_users :

 add_action("pre_get_users", function ($WP_User_Query) { if ( isset($WP_User_Query->query_vars["orderby"]) && ("company" === $WP_User_Query->query_vars["orderby"]) ) { $WP_User_Query->query_vars["meta_key"] = "company_name"; $WP_User_Query->query_vars["orderby"] = "meta_value"; } }, 10, 1);