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) :
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]
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 );
[/pastacode]
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.
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]
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 );
[/pastacode]
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 ;)
5 Commentaires
Pas mal. Et d’un point de vue SEO ?
Très intéressant ! Il ne me reste plus qu’à avoir des idées ! d:-)
Super,
Je vais me rajouter un petit module pour entrer les phrases directement depuis le panneau d’administration
Merci à vous, d’un point de vue SEO, faut demander à @danielroch ;)
Merci pour la petite astuce.