Bien utiliser les champs personnalisés avec WordPress

logo carre@4x

Ajouter des champs personnalisés à vos articles dans le Back Office.

La premiĂšre chose Ă  faire est d’ouvrir le module Champs personnalisĂ©s dans la page d’ajout d’article de votre Back Office.
De lĂ , entrez un nom Ă  votre champs (qui sera le mĂȘme pour tous vos articles) et une valeur (qui change en fonction de votre article) :

Le module des champs personnalisés WordPress

Vous devez entrer le nom et la valeur ici

Si ce module n’apparaĂźt pas dans votre page, cliquez sur le bouton Options de l’écran et cochez la case correspondante :

Bouton option de l'Ă©cran

Ce bouton se trouve en haut Ă  droite.

options disponibles

Je sais, je dois mettre à jour mon site 


RĂ©pĂ©tez l’action encore deux fois, pour les deux champs Date et technique.

Ajouter des champs personnalisés dans le code.

Pour ajouter un champ personnalisĂ©, c’est tout simple.
Il suffit d’entrer ce bout de code :

<?php echo get_post_meta($post->ID, 'ICI_MON_TITRE_DE_CHAMPS', true) ?>

N’oubliez pas de remplacer ICI_MON_TITRE_DE_CHAMPS par votre titre en respectant la casse !
Avec ceci, vous aurez la valeur (et uniquement la valeur) qui va s’afficher.
Pour avoir une liste, nous allons entrer :

<ul>
	<li>Client : <strong><?php echo get_post_meta($post->ID, 'client', true) ?></strong></li>
	<li>Date : <strong><?php echo get_post_meta($post->ID, 'date', true) ?></strong></li>
	<li>Technique : <strong><?php echo get_post_meta($post->ID, 'technique', true) ?></strong></li>
</ul>

Ce qui nous donne :

  • Client : Nom du client
  • Date : 2001
  • Technique : une super technique

Et voilà, vous savez maintenant ajouter des champs personnalisés ! Félicitations !

Comment masquer les champs personnalisés inutilisés.

Cette technique est trĂšs bien, mais si vous ĂȘtes un petit cachotier vous ne voulez pas entrer la technique pour un projet, vous vous trouverez avec ça sur votre page :

  • Client : Nom du client
  • Date : 2001
  • Technique :

En effet, le mot technique Ă©tant Ă©crit en dur dans votre code, il apparaĂźtra quoi qu’il arrive. C’est pas trĂšs propre.
On ne va donc afficher les listes que si une valeur est associée au champ personnalisé.
Pour cela, on va commencer à déclarer nos champs :

$client = get_post_meta($post->ID, "client", true);
$date = get_post_meta($post->ID, "date", true);
$technique = get_post_meta($post->ID, "technique", true);

Ensuite, on affiche les listes que si une valeur est entrée dans le BO :

if($client!=NULL){ 
	echo '<li>Client :<strong> '.$client.'</strong></li>'; 
}
if($date!=NULL){ 
	echo '<li>Date :<strong> '.$date.'</strong></li>'; 
}
if($technique!=NULL){ 
	echo '<li>Technique :<strong> '.$technique.'</strong></li>'; 
}

Ce qui vous donne au final :

<ul>
<?php 
	$client = get_post_meta($post->ID, "client", true);
	$date = get_post_meta($post->ID, "date", true);
	$technique = get_post_meta($post->ID, "technique", true);

	if($client!=NULL){ 
		echo '<li>Client :<strong> '.$client.'</strong></li>'; 
	}
	if($date!=NULL){ 
		echo '<li>Date :<strong> '.$date.'</strong></li>'; 
	}
	if($technique!=NULL){ 
		echo '<li>Technique :<strong> '.$technique.'</strong></li>'; 
	}
?>
</ul>

Et voilĂ , tout est dynamique maintenant !

Aller plus loin.

Les champs personnalisĂ©s peuvent servir Ă  bien plus que d’afficher de simples mĂ©tas.
Par exemple, si vous avez un slider, vous pouvez dĂ©finir un lien avec votre champ personnalisĂ© plutĂŽt qu’avec un permalink.
De cette maniùre, vous pouvez faire pointer vers n’importe quelle page de votre site ou bien vers un autre site partenaire.