Pourquoi les shortcodes WordPress peuvent-ils être si utiles ?
WordPress est l'un des systèmes de gestion de contenu les plus utilisés au monde. D'innombrables plug-ins ont permis à l'ancien logiciel de blogging d'acquérir d'énormes fonctionnalités permettant de réaliser les projets web les plus divers. Il y a toutefois une chose à laquelle WordPress est resté fidèle au fil des ans : Il s'agit d'un système qui peut être utilisé par les blogueurs, les rédacteurs et autres rédacteurs sans connaissances en HTML et CSS, ce qui en fait une solution rapide et simple pour diffuser des contenus sur le World Wide Web.
Les personnes qui souhaitent faire leurs premiers pas en tant que rédacteur web sont donc bien servies avec WordPress. En outre, les développeurs de WordPress ont introduit en 2008 une fonctionnalité appelée shortcodes, qui permet d'ajouter facilement des éléments dynamiques à ses contributions rédactionnelles.
Qu'est-ce qu'un shortcode ?
Les shortcodes, qui ont été introduits avec la version 2.5 de WordPress, sont des raccourcis qui peuvent être placés à l'intérieur des textes et qui sont liés à un code PHP. Celui-ci est soit déposé dans le fichier functions.php, soit dans un fichier .php séparé qui est intégré dans le fichier functions.php. Lorsqu'une page est appelée avec un shortcode, WordPress veille à ce que le script correspondant soit exécuté et interprété. Le visiteur voit donc le contenu généré par la fonction PHP au lieu du code. Le shortcode fonctionne donc à proprement parler comme un espace réservé, par exemple pour des éléments simples comme un extrait de texte ou pour des types de contenus dynamiques comme des popups ou une galerie d'images.
L'implémentation d'un shortcode dans WordPress ne représente pas un grand défi : Ils sont insérés directement dans l'éditeur à l'endroit correspondant de la publication. Pour que WordPress reconnaisse les codes en tant que tels, ils sont placés entre crochets [ ]. Un shortcode se présente par exemple sous la forme [aktuelle-posts]. En combinaison avec la fonction PHP correspondante, ce code affiche à la position choisie d'autres contributions récemment publiées. Le site Codes courts WordPress peuvent également être spécifiés avec des paramètres supplémentaires. Par exemple, pour limiter l'affichage des derniers messages publiés à cinq, le shortcode que nous venons d'utiliser peut être étendu comme suit : [aktuelle-posts posts="5″].
Pourquoi les shortcodes WordPress peuvent-ils être si utiles ?
Deux aspects en particulier rendent les shortcodes si pratiques dans WordPress : d'une part, même les utilisateurs qui ne disposent d'aucune connaissance en JavaScript ou CSS peuvent apporter du dynamisme à leur projet web. Même le langage de script PHP, élémentaire pour les shortcodes, ne doit pas nécessairement être maîtrisé, car divers shortcodes, y compris les scripts correspondants, sont déjà disponibles par défaut dans WordPress. Ceux-ci sont clairement listés sur la page d'accueil officielle. Vous y trouverez également des instructions sur la manière d'utiliser le script correspondant. Débloquer le shortcode et les utiliser. En outre, de nombreux utilisateurs de WordPress mettent gratuitement à disposition les shortcodes WordPress qu'ils ont eux-mêmes développés sur différentes plates-formes telles que SNIPPLR. En outre, de nombreux plug-ins et templates proposent leurs propres shortcodes. Vous ne devez donc programmer vous-même que si vous souhaitez modifier un script existant ou si vous avez besoin d'un script entièrement nouveau.
Le deuxième grand avantage de Les shortcodes, c'est le gain de tempsSi, par exemple, vous utilisez régulièrement un certain passage de texte, un logo ou un autre élément dans vos articles, le placement d'un shortcode programmé en conséquence vous fera gagner beaucoup de temps. Si vous souhaitez par la suite apporter des modifications à cet élément, vous ne devez pas le faire séparément pour chaque article. Il vous suffit d'adapter le code PHP et les modifications seront appliquées à toutes les pages de votre projet WordPress qui contiennent le shortcode.
Comment créer ses propres shortcodes dans WordPress ?
Il est déjà clair que le cœur d'un shortcode est le script PHP qui est exécuté dès que WordPress rencontre un shortcode préalablement défini. Dans ce qui suit, il ne s'agit toutefois pas tant de savoir comment programmer un tel script, car cela impliquerait un cours de base en programmation PHP qui s'éloignerait du sujet. Dans les paragraphes suivants, vous apprendrez plutôt comment intégrer les shortcodes dans WordPress, les utiliser pour votre projet et les désactiver. Vous insérez le code PHP correspondant soit dans le fichier functions.php dans le répertoire du thème utilisé, soit dans un fichier PHP séparé que vous intégrez en conséquence. Pour éviter que vos propres shortcodes ne disparaissent lors de la prochaine mise à jour du thème, vous devriez créer un thème enfant. Cela se fait en quelques gestes, comme le montrent les instructions du forum d'assistance WordPress.
Créer une fonction de rappel
La fonction PHP qui est exécutée dès que WordPress enregistre un shortcode est une fonction dite de rappel. En tant que telle, elle est transmise à une autre fonction en tant que paramètre et est appelée dans des conditions définies avec des paramètres définis. L'exemple de fonction suivant recherche dans la base de données et génère un lien vers le dernier article pour le shortcode [aktuell-posts] :
function aktuelle_posts_function() {
query_posts(array('orderby' => 'date', 'order' => 'DESC' , 'showposts' => 1)) ;
if (have_posts()) :
while (have_posts()) : the_post() ;
$return_string = '<a href="/fr/'.get_permalink().'/">'.get_the_title().'</a>' ;
endwhile ;
endif ;
wp_reset_query() ;
return $return_string ;
}
Le texte qui doit remplacer le shortcode se trouve dans la variable $return_string (PHP marque toutes les variables avec $). La fonction PHP (current_posts_function) renvoie cette variable par return. Si vous utilisez par erreur la commande echo, l'élément implémenté par shortcode se trouve soudain devant le contenu réel.
Insérer un shortcode dans WordPress
Vous devez indiquer à WordPress que la fonction que vous avez créée est un shortcode qui doit être exécuté automatiquement lorsqu'une page appelée contient le shortcode [messages actuels]. Pour ce faire, insérez le code suivant dans votre fichier PHP :
add_shortcode('aktuelle-posts', 'aktuelle_posts_function') ;
Vous avez ainsi défini d'une part le nom du shortcode [actuel-posts] que vous utiliserez plus tard dans l'éditeur et d'autre part la fonction actuelle_posts_function() à utiliser. Pour éviter les conflits entre différents shortcodes WordPress, il est important de choisir un nom unique.
Définir les shortcodes de manière paramétrée et fonctionnalisée
Pour rendre votre shortcode WordPress encore plus flexible, vous pouvez ajouter des paramètres optionnels. Dans l'exemple utilisé jusqu'à présent, il est judicieux d'indiquer dans le shortcode le nombre exact de contributions qui doivent être affichées. Pour cela, vous avez besoin de deux autres fonctions : D'une part, la fonction shortcode_atts(), qui combine les attributs de shortcode générés par l'utilisateur avec les attributs natifs et insère automatiquement les valeurs standard nécessaires. D'autre part, la fonction PHP extract() est nécessaire pour extraire les attributs de shortcode. Dans le cas où le champ d'argument reste vide, il faut indiquer la valeur par défaut 1 ('posts' => 1) :
function_posts_function($atts){
extract(shortcode_atts(array(
'posts' => 1,
), $atts)) ;
$return_string = '.<ul>' ;
query_posts(array('orderby' => 'date', 'order' => 'DESC' , 'showposts' => $posts)) ;
if (have_posts()) :
while (have_posts()) : the_post() ;
$return_string .='<li><ahref="'.get_permalink().'">'.get_the_title().'</a></li>' ;
endwhile ;
endif ;
$return_string .= '</ul>' ;
wp_reset_query() ;
return $return_string ;
}
Si vous indiquez maintenant le shortcode dans le texte comme suit [aktuelle-posts posts="5″], ce n'est pas seulement le dernier article publié qui s'affiche, mais une liste des cinq articles les plus récents.
Utilisation de certains contenus comme paramètres de shortcode
Vous pouvez encore modifier l'exemple présenté et ajouter en plus un élément de contenu bien précis comme paramètre. Dans notre exemple, ce paramètre de contenu doit définir le titre d'un en-tête. Pour ce faire, ajoutez la variable $content au script de rappel et insérez le titre HTML avant l'énumération :
fonction_posts_actuels($atts, $content = null) {
extract(shortcode_atts(array(
'posts' => 1,
), $atts)) ;
$return_string = '.<h3>'.$content.'</h3>' ;
$return_string .= '<ul>' ;
query_posts(array('orderby' => 'date', 'order' => 'DESC' , 'showposts' => $posts)) ;
if (have_posts()) :
while (have_posts()) : the_post() ;
$return_string .= '<li><a href="/fr/'.get_permalink().'/">'.get_the_title().'</a></li>' ;
endwhile ;
endif ;
$return_string .= '</ul>' ;
wp_reset_query() ;
return $return_string ;
}
Entourez maintenant le titre souhaité dans votre texte d'un shortcode d'ouverture et d'un shortcode de fermeture, comme pour une balise HTML :
[aktuell-posts posts ="5"]Titre de la liste des articles actuels[/actual-posts]
Utilisation du code court WordPress dans un widget
Jusqu'à présent, nous nous sommes exclusivement intéressés à l'utilisation des shortcodes dans l'éditeur de texte WordPress. Or, il existe souvent des situations dans lesquelles les shortcodes sont également intéressants pour un widget comme une sidebar. Par défaut, WordPress ne reconnaît pas les shortcodes à cet endroit, mais une petite ligne de code supplémentaire dans le fichier PHP permet d'y remédier rapidement :
add_filter('widget_text', 'do_shortcode') ;
Avec ce code, vous indiquez à WordPress de vérifier également les éléments de texte dans les widgets pour voir s'il y a des shortcodes.
Désactivation des codes courts qui ne sont plus nécessaires
Si vous n'avez plus besoin d'un code court WordPress particulier, vous avez deux possibilités pour le désactiver : La solution optimale consisterait à supprimer la fonction de rappel du fichier PHP et toutes les entrées du code de vos articles. Si, au lieu de cela, vous supprimez uniquement la fonction de rappel, WordPress ne reconnaîtra plus le shortcode en tant que tel et l'affichera en texte clair au milieu de l'article. Comme cette méthode est très laborieuse pour un shortcode fréquemment utilisé, il existe une deuxième possibilité pour de tels cas : au lieu de supprimer le code et la fonction PHP, on ajoute à la fonction callback une instruction qui ne renvoie rien et qui est donc quasiment bloquée :
add_shortcode('aktuelle-posts', '__return_false') ;
Des shortcodes utiles pour votre blog
Maintenant que vous avez eu un petit aperçu de la structure des shortcodes et que vous savez comment les enregistrer et les intégrer dans WordPress, les exemples suivants vous donneront un aperçu des nombreuses possibilités offertes par la technique des shortcodes.
Insérer un bouton de lien
Pour ajouter un bouton de lien avec une étiquette individuelle à votre projet, il suffit d'utiliser un shortcode avec la fonction de rappel suivante :
function link_button_function( $atts, $content = null ) {
return '' ;
}
add_shortcode('link-button', 'link_button_function') ;
L'inscription souhaitée pour le bouton est simplement placée entre le shortcode d'ouverture et le shortcode de fermeture :
[link-button]Cliquez ici ![/link-button]
Affichage du menu de WordPress
Le code suivant vous permet d'afficher un menu sélectionné de votre projet WordPress sous le message texte :
function menu_function($atts, $content = null) {
extraire(
shortcode_atts(
array( 'name' => null, ),
$atts
)
) ;
return wp_nav_menu(
array(
'menu' => $name,
'echo' => false
)
) ;
}
add_shortcode('menu', 'menu_function') ;
Si vous souhaitez utiliser ce code court, il vous suffit d'indiquer comme paramètre le nom du menu correspondant, par exemple
[menu name="Menu principal"]
Le moyen le plus simple d'obtenir des shortcodes WordPress sont les plugins
Pour tous ceux qui ne souhaitent ni créer leur propre shortcode ni implémenter manuellement les exemplaires préfabriqués dans le functions.php ou le fichier PHP correspondant, il existe une autre possibilité de débloquer les shortcodes utiles pour leur propre projet web : Sur la page d'accueil officielle de WordPress, vous trouverez un grand choix de plugins qui ajoutent à votre installation WordPress aussi bien un seul que plusieurs shortcodes différents. L'extension Last Updated Shortcode vous permet par exemple d'accéder au shortcode du même nom [lastupdated], qui indique quand un article ou une page a été actualisé pour la dernière fois.
Avec plus de 50 shortcodes et un propre éditeur CSS, le plugin Shortcodes Ultimate est un peu plus complet. Il permet d'ajouter des shortcodes à WordPress, par exemple pour les onglets, les boutons, les boîtes ou les sliders. Lors de l'utilisation de plug-ins de shortcodes, il faut cependant toujours garder à l'esprit ce qui suit : Les extensions consomment des ressources de calcul et ralentissent votre projet web en cas d'utilisation excessive. De plus, vous ne savez généralement pas si une Plugin est développé et régulièrement mis à jour ou s'il représente une faille de sécurité.
Pour terminer, il convient de mentionner qu'il n'existe pas seulement des plugins qui implémentent des shortcodes, mais aussi des plugins qui vous aident à créer vos propres fonctions de rappel et à gérer vos shortcodes.
Codeur rapide : Un éditeur visuel permet de créer ses propres shortcodes et d'y ajouter facilement des bribes d'HTML et de JavaScript.