Home>Guide>Aggiungere una colonna personalizzata in WordPress

Aggiungere una colonna personalizzata in WordPress


Aggiungere una colonna personalizzata in WordPress


Spesso, soprattutto nel caso di custom post types, potresti avere la necessità di visualizzare nella tabella contenente i posts nel backend di WordPress una nuova colonna contenente, ad esempio, un campo personalizzato che possa aiutarti nella gestione dei contenuti e velocizzare il tuo lavoro.

  • Leggi l'articolo, ti bastano solo 2 minuti, 29 secondi
    Sei di fretta? Scarica il PDF e consultalo quando vuoi!

Un esempio pratico: l'ID

Ipotizza, a scopo dimostrativo, di voler aggiungere alla tabella che contiene l’elenco degli articoli di WordPress, che trovi in:

Articoli > Tutti gli articoli

una nuova colonna che visualizzi l’ID univoco dell’articolo.


Aggiungere la colonna

Il primo passo da compiere, è far capire a WordPress la tua intenzione e creare una nuova colonna che si aggiunga a quelle fornite di default. Per farlo, basta aggiungere al file functions.php del tuo tema, che trovi in:

wp-content/themes/{nome_del_tema}/

il seguente codice:

// Aggiunge la colonna ID
add_filter( 'manage_posts_columns', function( $columns ) {
    $columns['id'] = __( 'ID', 'dominio' );
    return $columns;
} );

Sfruttando l’hook manage_post_columns, non fai altro che aggiungere un nuovo elemento all’array che contiene le colonne da visualizzare.

Ricaricando la pagina, vedrai la nuova colonna appena creata. Ma come fare a gestirne il contenuto?


Riempiamo la colonna appena creata

Ora non ti resta che fare in modo che le celle della nuova colonna siano riempite con il giusto contenuto. Per farlo, è necessario aggiungere al file functions.php del tuo tema il seguente codice:

// Aggiunge il contenuto della colonna ID
add_filter( 'manage_posts_custom_column', function( $column_name, $post_id ) {
	if ( $column_name === 'id' ) {
		return get_the_ID();
	}
}, 10, 2 );

Con l’aiuto di un altro filtro, manage_posts_custom_column, hai appena creato una funzione che restituisce l’ID dell’articolo e lo assegna alla colonna dal nome id.

Ricaricando nuovamente la pagina, vedrai che ogni articolo presente nell’elenco, ha in corrispondenza della colonna id l’identificativo dell’articolo stesso così.


Rendere la colonna ordinabile

Per completare il lavoro, ecco un piccolo valore aggiunto. Se volessi ordinare la tua lista in base ai valori presenti nella colonna appena creata, ti basta aggiungere al file functions.php:

// Rende la colonna ordinabile
add_filter( 'manage_edit-post_sortable_columns', function( $columns ) {
	$columns[ 'id' ] = 'id';
	return $columns;
} );

che non fa altro che aggiungere la colonna all’elenco delle colonne su cui abilitare la funzione di ordinamento presente nel backend di WordPress.


Custom post types

Naturalmente, puoi aggiungere una colonna personalizzata non solo agli articoli, ma anche ad eventuali custom post types, semplicemente utilizzando gli hooks adatti.
Così, l’hook manage_posts_columns diventa:

manage_${post_type}_posts_columns

e l’hook manage_posts_custom_column diventa:

manage_{$post_type}_posts_custom_column

sostituendo alla variabile ${post_type} il nome assegnato al tuo custom post type, ed il gioco è fatto.



Ti è piaciuto questo articolo? Regalami un click per ripagarmi dello sforzo



Code4Life ti è stato utile? Sostienici con una donazione!

Dona con PayPal

Hai trovato interessante l’articolo? Allora ti consiglio di leggere:

Come creare un plugin per jQuery

Come creare un plugin per jQuery


Impariamo a creare un plugin per jQuery, utile per automatizzare una serie di operazioni che vogliamo rendere universali e riutilizzabili nel nostro codice.

Creare un effetto hover animato sulle immagini con CSS3

Creare un effetto hover animato sulle immagini con CSS3


Ecco come dare vita alle immagini nel nostro sito applicando delle stupefacenti animazioni utilizzando solamente CSS3 attivate dal semplice passaggio del mouse.

Oppure cerca tra gli articoli correlati


E tu cosa ne pensi? Condividi la tua opinione e discutiamone insieme
La tua email non sarà resa pubblico o utilizzata per inviarti spam, te lo prometto

Iscrivimi alla newsletter per ricevere news ed aggiornamenti
Utilizziamo piattaforme di terze parti per l’invio di newsletter. (Informativa sulla privacy)
Tienimi aggiornato su questo articolo
Ricevi una email di notifica quando qualcuno scriverà un commento a questo articolo. (Informativa sulla privacy)
Ricorda i miei dati per la prossima volta che scriverò un commento
Il tuo nome e la tua email verranno salvati in un cookie in questo browser. (Informativa sulla privacy)