Supprimer la balise p pour category_description sous WordPress

Si vous utilisez la fonction category_description ou tag_description pour afficher les descriptions de vos catégories et autres mots-clés, vous aurez remarqué que WordPress ajoute invariablement une balise paragraphe vous empêchant de personnaliser facilement ces informations. Une petite astuce va nous permettre de supprimer ce tag HTML pour repartir sur de bonnes bases.

Dernièrement, je cherchais un moyen d’afficher la description de mes catégories dans mon thème. J’ai donc utilisé la fonction <?php echo category_description(); ?>. Seul problème, j’obtenais un résultat ressemblant à cela :

<p>Description de ma catégorie</p>

De fait, il m’est impossible d’appliquer une classe CSS spécifique pour ce paragraphe, ce qui ne laisse guère de possibilités de personnalisation.

Pour corriger cela, ouvrez donc le fichier functions.php dans le dossier /wp-content/themes/NOM_DU_THEME/ à l’aide de votre client FTP favori. Insérez à présent la ligne de code suivante juste après la première balise PHP ouvrante ;

// Suppression balise p dans la description
 remove_filter('term_description','wpautop');

Sauvegardez le fichier puis vérifiez le résultat obtenu. La disparition de la balise paragraphe devrait modifier l’aspect du bloc de description – faites Ctrl + U dans le navigateur pour en afficher le code ou passer par l’incontournable Firebug.

A partir de là, corrigeons la fonction source comme ceci par exemple :

<p class="archive-description"><?php echo category_description(); ?></p>

Vous pouvez alors ajouter une classe CSS dans style.css – toujours dans le dossier de votre thème, avec les propriétés de votre choix. Par exemple :

.archive-description { font-size:13px; }

J’utilise personnellement cette technique sur l’ensemble de mes pages de catégories et de tags. Cliquez donc sur un des éléments du menu de navigation pour voir le résultat en live !

15 commentaires

  1. Lionel

    Intéressant, j’avais rajouté les descriptions des catégories pour optimiser le référencement mais je n’avais pas fait l’effort de la mise en forme. Avec cette astuce ca ne devrait pas prendre très longtemps. merci

  2. GeekPress

    Je trouve cela un peu radical de supprimer un filtre. Si on veut s’en servir plus tard, va falloir faire des conditions pour prendre en compte ou non le filtre selon nos besoins.

    Je ferai plutôt un wp_strip_all_tags( category_description() ); pour supprimer la balise p lors de l’affichage.

  3. Seboztou

    Salut,

    Un commentaire rien à voir avec l’article (désolé). Tu sais peut-être quel est l’éditeur de texte présenté sur l’image attachée à cet article s’il te plait? J’aime bien la coloration et il m’a l’air d’être sympa

  4. la pintade aixoise

    Hi,

    Je sais que vous allez me dire que c’est pas exactement le bon endroit pour poster ce comm’… Mais… Je me demande comment modifier le code source de ma homepage. (sans doute est-ce lié au fait que je ne capte pas la phrase « ouvrez donc le fichier functions.php dans le dossier /wp-content/themes/NOM_DU_THEME/ à l’aide de votre client FTP favori »). J’utilise le thème Columnist et depuis 3 jours les thumbnails de la homepage sont générés de manière complètement aléatoire et non plus avec la première image de l’article. Lorsque j’affiche le code, je vois bien que ce n’est pas la bonne photo, je voudrais juste la changer (c’est une des rares choses que je comprenne dans une ligne de code). Si quelqu’un peut me rediriger (je lui enverrai des cookies, des qui se mangent) ?

    Merci à vous !

    1. Aurélien Denis auteur de l’article

      Il s’agit de l’URL de votre commentaire (en wordpress.com) ? Ce n’est donc pas une installation hébergée par vos soins de WordPress mais le service en ligne proposé par Automattic, je me trompe ?

      Car dans ce cas, ce site n’est pas le bon car il faut avoir accès à votre serveur pour faire les modifications évoquées…

  5. Paul

    Par le plus grand des hasard, quelle est alors la manipulation pour que la description de la catégorie ne s’affiche que sur la 1ère page ? (évitons la duplication). Par avance merci !

  6. remibriere

    Bonjour,

    Je me retrouve confronté à un problème similaire mais étant encore débutant dans le domaine je n’arrive pas à le régler ;
    Je souhaiterais désactiver l’ajout automatique de la balise pour le plugin contact form 7, juste pour mon formulaire en fait (une seule balise même, le reste ne dérange pas) car cela casse mon CSS.
    Pourriez-vous m’indiquer comment procéder ?

    Merci d’avance !

  7. yackfr

    Bonjour,
    j’ai essayé cette manip avec succès! merci
    Seul bémol, je ne peux plus assurer les retours à la ligne tels qu’ils étaient prévus dans la catégorie description : tout le texte vient à la suite. Auriez-vous une autre astuce?

Laisser un commentaire