WordPress : Afficher une liste de Tags aléatoires et sur-mesure

Wordpress - Afficher une liste de mots-clés aléatoires et sur mesure
WordPress Lecture 2 minutes • 16 avril 2015

J'ai récemment eu à générer une liste de Tags / Mots-clés de manière aléatoire pour un projet de site web. Le résultat devait ressembler à ce qu'on appel un "nuage de mots-clés" avec en plus la possibilité de filtrer quels mots-clés à afficher et le nombre de mots-clés à afficher.
Voici une solution qui fonctionne à merveille et que j'ai voulu partager avec vous aujourd'hui. Tout est expliqué en détails pour comprendre et modifier le code si votre projet le nécessite.
 
Insérer le code dans votre fichier de Template - Ne requiert pas de fonction :
[php]
<?php
    $args = array('exclude' => '36 17'); // voir les explications plus bas
        $alltags = get_tags( $args );
        shuffle($alltags);
        $count=0;
        if ($alltags) {
            foreach($alltags as $tag) {
                $count++;
                echo '<a href="'.get_tag_link($tag->term_id).'">'.$tag->name.'</a>';
        if( $count >19 ) break;
        }
    }
?>
[/php]
Explications :

  • Pour exclure des Tags / Mots-clés, vous aurez besoin de leur ID. Le moyen le plus simple de le trouver est dans "Articles" puis "Mots-clés" et de survoler le nom de celui que vous voulez exclure. Lors du survol, l'ID apparait dans la barre d'url qui s'affiche en bas à gauche de votre navigateur. (Voir image ci-dessous).

Par exemple ici  : &tag_ID=39

ID des mots-clés WordPress

Cliquer sur l'image pour l'agrandir


 

  • Le codex WordPress précise que pour le "get_tags", il faut uniquement séparer les IDs de Tags/Mot-clés par des espaces. Pas de virgules !
  • Concernant la génération de Tags / mots-clés aléatoire, cela n'est malheureusement pas possible via l'utilisation de "$arg" pour "get_tags". C'est pourquoi nous utilisons le code suivant pour y parvenir : shuffle($alltags);
  • Pour changer le nombre de Tags / Mots-clés à afficher, il suffit d'ajuster la valeur située après "$count". Par exemple si ( $count >19 ) il affichera 20 mots-clés. Si ( $count >25 ) il affichera 26 mots-clés. Etc...
    • "$count=0;" signifie le démarrage du décompte.
    • "$count++;" compte chaque Tag/Mot-clé posté.
    • "if( $count >19 ) break;" dis à la boucle de s'achever => dans ce cas, après l'affichage de 20 tags/mots-clés.

N'hésitez pas à faire part de vos retours en commentaires !


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