Vous l’avez peut-être remarqué, les taxonomies (tag, catégories et les « custom taxonomy » si votre thème les utilisent) sont dotés d’un champ description. Mais ce champ n’est pas forcément exploité par votre thème. C’est dommage car c’est un plus pour vos visiteurs et à priori aussi pour Google! Voyons ensemble comment faire!
Préambule
Avant toute chose, rappelez-vous, pas de modifications du code directement dans votre thème, il faut utiliser un thème enfant! Si ce n’est pas le cas, lisez-donc mon tutoriel sur le sujet!
Pour les modifications, je fait directement à partir de l’éditeur WordPress (Apparence puis éditeur), je trouve cela plus simple. Mais vous pouvez le faire via FTP en modifiant le fichier puis en le mettant à jour sur le site. Et avant toute modification, pensez à faire une sauvegarde du fichier pour pouvoir annuler vos modifications si besoin! Soit un gardant une copie du fichier récupéré par FTP, soit en faisant un copié-collé à partir de l’éditeur wordpress dans un fichier texte.
Afficher la description du tag et catégorie
Pour cela, rien de plus simple, il faut aller modifier votre fichier archives.php et lui ajouter la ligne de code suivante :
<?php echo tag_description(); ?>
Le plus délicat restant de savoir ou placer la ligne de code! Il suffit de repérer à quel endroit le nom du tag est affiché et d’ajouter juste en dessous la ligne de code. Pour tester le bon positionnement de votre texte, ajouter une description à un tag et affichez la page du tag. Vous verrez à ce moment que le texte est brut et sans formatage. Là aussi, il faudra regarder dans la structure de votre page le (ou les) bon(s) CSS à mettre avec le code pour lui donner un aspect plus sexy!
Le code permet d’afficher la description du tag et de la catégorie (pour peu que le champ description ait été renseigné).
Afficher la description d’une « custom taxonomy »
Si cela ne vous parle pas, c’est probablement que votre thème ne les utilise pas! Si vous voulez afficher la description, il faut cette fois-ci modifier le fichier taxonomy.php en ajoutant la ligne de code suivante :
<?php echo term_description( '', get_query_var( 'taxonomy' ) ); ?>
La encore, le plus compliqué, c’est de trouver l’emplacement de la ligne dans le fichier et le CSS qui va bien (avec un peu de chance, celui utilisé pour les tag & catégorie devrait faire l’affaire)!
Html et shortcode dans les descriptions
Le soucis du champ description, c’est que c’est uniquement du texte non formaté, donc assez bof en terme de rendu (car le HTML et les shortcodes sont désactivés dans les descriptions). mais pas de panique, j’ai la solution pour vous! Cette fois, il faut aller dans le fichier functions.php!
Permettre le HTML
Dans le fichier functions, ajoutez les deux lignes de codes suivantes :
// Suppression du filtre html pour description remove_filter( 'pre_term_description', 'wp_filter_kses' ); remove_filter( 'term_description', 'wp_kses_data' );
S’agissant du fichier fonction, vous pouvez mettre le code n’importe ou, pensez juste à faire comme moi et indiquez la fonction du code histoire de savoir à quoi il sert.
Permettre les shortcodes
Par forcement indispensable, mais si comme moi votre thème utilise les shortcodes pour faire de la mise en forme, cela peut être utile! Toujours dans functions.php, ajoutez les lignes suivantes :
//Permettre les shortcodes dans la description add_filter( 'term_description', 'shortcode_unautop'); add_filter( 'term_description', 'do_shortcode' );
Cas du thème Made
Ces modifications ont été faites pour le thème made que j’utilise sur mon autre site. Pour ceux que cela intéresse, je vous mets quelques indications supplémentaires!
Pour afficher la description des tags et des catégories, il faut insérer la ligne de code à la ligne 107 (version 2.6 du thème). Pour le CSS, je vous indique celui que j’ai utilisé qui fonctionne bien :
<div class="page-content review"> <div class="the-content"> <?php echo tag_description(); ?> </div> </div>
Pour les « custom taxonomy » il faut insérer le code à la ligne 119 (version 2.6 du thème) et reprendre le même CSS que précédemment, ce qui donne :
<div class="page-content review"> <div class="the-content"> <?php echo term_description( '', get_query_var( 'taxonomy' ) ); ?> </div> </div>
Voila, c’est à vous de jouer maintenant!