Ajouter des champs ACF comme colonne dans l’admin WordPress

Ajouter des champs ACF comme colonne dans l’admin WordPress
WordPress Lecture 2 minutes • 9 juillet 2023

Aujourd'hui, nous allons voir comment ajouter des champs ACF aux colonnes d'administration de WordPress.

En tant que développeurs, nous voulons limiter au maximum le nombre d 'extensions/plug-ins que nous utilisons, c'est pourquoi nous allons simplement ajouter la fonctionnalité manuellement en 2 étapes !

Colonnes personnalisées dans l'admin WP, la démonstration par l'exemple

Pour l'exemple, nous présentons sur notre site des hébergements ayant chacun une capacité d'accueil (nbr de personnes) et une région d'affectation.

Disons que vous avez créé un type de publication, "hébergement", et deux champs ACF :

- "hebergement_capacite"
- "hebergement_region"

Nous allons maintenant ajouter les deux champs en tant que colonnes dans l'admin de notre CPT "hébergement". Voici le résultat attendu en image !

Ajouter colonnes ACF à l'admin de WordPress

1/ Créer les deux nouvelles colonnes "Nombre de personnes" et "Région" dans l'admin

Ajouter ce qui suit au fichier functions.php de votre thème :

/**
*** Créer les colonnes ACF dans l'admin
**/

$post_type = 'hebergement';

 function ajout_acf_colonnes ( $columns ) {
   return array_merge ( $columns, array ( 
     'colonne_capacite' => __ ( 'Nombre de personnes' ),
     'colonne_region'   => __ ( 'Région' ) 
   ) );
 }
 add_filter ( "manage_{$post_type}_posts_columns", 'ajout_acf_colonnes' );

Comment adapter ce code à votre cas ?

  • Ligne 5, remplacer "hebergement" par l'identifiant/slug de votre CPT
  • Lignes 9 et 10, remplacer "colonne_capacite" et "colonne_region" par les slugs et noms de vos choix

2/ Lier les valeurs des champs ACF des hébergements à ces colonnes

Ajouter ensuite, le code ci-dessous à la suite dans le fichier functions.php de votre thème :

/*
** Affecte les colonnes au CPT Hébergement et affiche les valeurs
*/

 function hebergement_custom_column ( $column, $post_id ) {

   switch ( $column ) {
     case 'colonne_capacite':
       echo get_post_meta ( $post_id, 'hebergement_capacite', true );
       break;
     case 'colonne_region':
       echo get_post_meta ( $post_id, 'hebergement_region', true );
       break;
   }
}
add_action ( "manage_{$post_type}_posts_custom_column", 'hebergement_custom_column', 10, 2 );

Comment adapter ce code à votre cas ?

  • Lignes 8 et 11, on reprends les deux slugs créés précédemment ("colonne_capacite" et "colonne_region")
  • Lignes 9 et 12, remplacer "hebergement_capacite" et "hebergement_region" par les identifiants/slugs de vos champs ACF

Gérer les colonnes de l'admin WordPress avec une extension/plug-in

Il existe des extensions/plugins WordPress qui permettent l'ajout de vos champs ACF en tant que colonnes d'administration. Pour n'en citer qu'un, je recommande l'extension Admin Columns.


Si cet article vous a aidé, lâchez votre plus bel applaudissement en remerciement ! 🤗