WordPress, modifier l’apparence du widget « Nuage de mots-clefs »

Toujours dans ma phase d’apprentissage de WordPress, de son fonctionnement et de son système de template, je viens de modifier quelques options concernant le widget « Nuage de mots-clefs ».

Comment ?

Pour ce faire, nous allons modifier les arguments de wp_tag_cloud() qui sert à afficher la fameuse liste de tag en utilisant la fonction add_filter() dans le fichier « functions.php » de notre template.

Pour commencer, localiser et éditer le fichier « functions.php » de votre template.

La fonction

Créer une fonction pour modifier les arguments :

[php]/**
* custom_widget_tag_cloud_args( )
*
* Modifie les arguments utilisés par wp_tag_cloud()
* http://codex.wordpress.org/Function_Reference/wp_tag_cloud
*/
function custom_widget_tag_cloud_args( ) {
$args = array(
‘smallest’ => 8,
‘largest’ => 22,
‘unit’ => ‘pt’,
‘number’ => 45,
‘format’ => ‘flat’,
‘separator’ => "\n",
‘orderby’ => ‘name’,
‘order’ => ‘ASC’,
‘exclude’ => null,
‘include’ => null,
‘topic_count_text_callback’ => default_topic_count_text,
‘link’ => ‘view’,
‘taxonomy’ => ‘post_tag’,
‘echo’ => true,
);
return $args;
}[/php]

Cette fonction ne fait que retourner les arguments de la fonction wp_tag_cloud(), pour la liste des arguments : http://codex.wordpress.org/Function_Reference/wp_tag_cloud.

Appel de la fonction

Maintenant nous allons utiliser add_filter() afin de signaler à WordPress d’utiliser notre fonction quand celui-ci aura besoin des arguments de la fonction wp_tag_cloud(), pour se faire,  placer cette ligne de code sous votre fonction (ou ailleurs dans votre ficher…)

[php]add_filter( ‘widget_tag_cloud_args’ , ‘custom_widget_tag_cloud_args’ );[/php]

Exemple

Pour ne pas vous laisser comme ça, je vous ajoute un petit exemple :
Vous souhaitez afficher tous les tags dans une liste, en conservant la même taille de police d’écriture pour tous les tags et en les affichant par ordre d’utilisation descendant (du tag le plus utilisé au moins utilisé), il vous suffit de modifier le tableau des arguments :

[php]
$args = array(
‘smallest’ => 1, // on passe à 1 (em)
‘largest’ => 1, // on passe à 1 (em)
‘unit’ => ’em’, // on passe en em
‘number’ => 0, // 0 = tous les tags
‘format’ => ‘list’, // format liste
‘separator’ =>  », // vide, c’est bien aussi
‘orderby’ => ‘count’, // par nombre de fois utilisé
‘order’ => ‘DESC’, // par ordre décroissant
‘exclude’ => null,
‘include’ => null,
‘topic_count_text_callback’ => default_topic_count_text,
‘link’ => ‘view’,
‘taxonomy’ => ‘post_tag’,
‘echo’ => true,
)
[/php]

Conclusion

Encore une fois, je suis débutant sur WordPress, je commence à peine… Donc si vous avez des choses à dire, n’hésitez pas !

A propos ?

  • Valide sous WordPress 3.5.1
  • Edit (1)
    • Corrections
  • Edit (2)
    • Ajout des tags HTML pour la structure de l’article
  • Edit (3)
    • Ajout de sous titre
    • Correction(s)
    • Ajout de « A propos ? »
  • Edit (4)
    • Retrait bout de phrase en fin d’article…
  • Edit (5)
    • Changement de plugin pour l’affichage du code
      Pas l’air de fonctionner beaucoup mieux … :/