WP: sortable column – ordinare i valori delle colonne

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 )
Ordinare i valori dell'immagine

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_IDFILE
Media Libraryuploadupload.php
Commentsedit-commentsedit-comments.php
Tagsedit-post-tagedit-tags.php
Pluginspluginsplugins.php
Linkslink-managerlink-manager.php
Usersusersusers.php
Postedit-postedit.php
Pagesedit-pageedit.php
Edit Site: Themessite-themes-networknetwork/site-themes.php
Themesthemes-networknetwork/themes
Usersusers-networknetwork/users
Edit Site: Userssite-users-networknetwork/site-users
Sitessites-networknetwork/sites
Elenco degli screen disponibili su WP

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.

Lascia un commento