Tout savoir sur WordPress
Tutoriel WordPress

Afficher une description (slogan) de votre site au hasard

Cette astuce permet de définir plusieurs description de votre site et d’en afficher une aléatoirement.

Votre description (ou slogan) vous plait, mais vous avez également d’autres idées qui vous séduisent. Pourquoi ne pas les afficher aléatoirement ?!

Copier le code ci-dessous dans le fichier functions.php présent à la racine de votre thème (n’oubliez pas de modifier le code avec vos descriptions) :

function random_description() {
    $desc = array(  'BoiteAWeb.fr, la sécurité, c est notre métier.',
                    'BoiteAWeb.fr, sécurisation de sites web.',
                    'BoiteAWeb.fr, création de plugins WordPress.'
                );
    shuffle( $desc ); // Je mélange le tableau
    return $desc[0]; // Je retourne la première valeur.
}
add_action('pre_option_blogdescription', 'random_description', 10, 0 );

J’utilise le hook pre_option_$option avec blogdescription qui va me permettre de court-circuiter la récupération de l’option en base de données et ainsi forcer d’autres valeurs.

Bonus : Mettre un système de cache

Ce code peut soulever un léger problème. En effet, si dans la même page, la description est affichée deux fois, deux descriptions différentes peuvent apparaitre.

Alors ajoutons une mise en cache de la description grâce à un transient, et disons … 1 heure de cache.

function random_description() {
    $trans = get_transient( 'blogdescription' ); // Je vais chercher la valeur en cache (nom du transient arbitraire)
    if( $trans === false ): // Si le cache n'existe pas encore ...
        $desc = array(  'BoiteAWeb.fr, la sécurité, c est notre métier.',
                        'BoiteAWeb.fr, sécurisation de sites web.',
                        'BoiteAWeb.fr, création de plugins WordPress.'
                    ); // J'ajoute mes descriptions
        shuffle( $desc ); // Je mélange le tableau
        set_transient( 'blogdescription', $desc[0], 60*60 ); // Transient d'une durée d'1 heure
        return $desc[0]; // Je retourne la première valeur
    else:
        return $trans; // Je retourne la valeur du cache
    endif;
}
add_action('pre_option_blogdescription', 'random_description', 10, 0 );

Les transients (ou données transitoires) sont des options qui peuvent avoir une durée de vie. Ici, dans 1 heure, WordPress supprimera automatiquement cette option, rendant de nouveau possible le choix aléatoire d’une nouvelle description pour votre blog.

Il ne vous reste plus qu’a faire bouillir votre imagination et créativité pour afficher de bons slogans ;)

Cet article a été mis à jour il y a 2119 jours - Il n'est peut être plus à jour !

Article écrit par Julio P.

Co-fondateur de WP Media, la startup Lyonnaise qui a créé WP Rocket et Imagify, Julio Potier est un Expert WordPress, un Formateur Expérimenté et un Consultant en Sécurité Web.

Il aime partager ses compétences et ses réflexions sur WordPress, donnant des conférences partout dans le monde.

5 Commentaires

  1. Super,
    Je vais me rajouter un petit module pour entrer les phrases directement depuis le panneau d’administration

8c7dbe16c138b9e7ca82a4110aa0912fk