Ordinare i valori delle colonne in WordPress non è complicato, basta sapere a quale filtro fare riferimento. Fortunatamente WP fornisce il filtro adatto per effettuare l’hook:
manage_{$screen->id}_sortable_column
Il filtro sfrutta la funzione presente della classe WP_List_Table. Come viene indicato nella documentazione ufficiale, il filtro viene attivato come tutti gli altri filtri con un feedback.
apply_filters( "manage_{$this->screen->id}_sortable_columns", array $sortable_columns )
I filtri delle colonne per ordinare i valori
La prima voce del filtro attiva il filtro in base allo screen, alla pagina, in cui si trova. La seconda voce richiama la funzione che contiene la definizione della voce. Gli screen disponibili sono:
PAGE | $SCREEN_IDF | ILE |
---|---|---|
Media Library | upload | upload.php |
Comments | edit-comments | edit-comments.php |
Tags | edit-post-tag | edit-tags.php |
Plugins | plugins | plugins.php |
Links | link-manager | link-manager.php |
Users | users | users.php |
Post | edit-post | edit.php |
Pages | edit-page | edit.php |
Edit Site: Themes | site-themes-network | network/site-themes.php |
Themes | themes-network | network/themes |
Users | users-network | network/users |
Edit Site: Users | site-users-network | network/site-users |
Sites | sites-network | network/sites |
Il codice per ordinare i valori delle colonne su WP quindi può essere come il seguente:
//MAKE THE COLUMN SORTABLE FOR USERS
function user_sortable_columns( $columns ) {
$columns['role'] = 'Role';
return $columns;
}
add_filter( 'manage_users_sortable_columns', 'user_sortable_columns' );
Nell’esempio precedente andiamo a rendere ordinabili i valori della colonna Ruoli.
In questo caso la colonna è già presente perchè è di default per WP.
Se utilizziamo un plugin per la gestione degli utenti come ad esempio Wp-Members non abbiamo bisogno di aggiungere in modo custom i contenuti della colonna. Ci basta crearli tramite l’apposita opzione, quindi renderli visibili nella tabella Utenti.
Sfruttando il filtro presentato in questa occasione, possiamo rendere questi valori facilmente ordinabili, richiamando il valore meta del campo.