ShortCode ou la méthode rapide pour insérer du code dans un article wordpress
Bonjour à tous,
WordPress est un fabuleux outil disponible et accessible à tous tant il est facile à installer, gérer et manipuler au quotidien.
Cependant, nombreux sont les utilisateurs WordPress qui possèdent une connaissance dans la programmation orientée web. Et ceci n’est pas une coïncidence puisqu’étant à même de juger la qualité du code, ils sont à même de juger la globalité du projet: son résultat final mais aussi son coeur, le code.
Et c’est justement d’une des fonctionnalités offert par ce code que je vais vous parler: la possibilité d’intégrer du code PHP dans un article ou page de WordPress.
Bien sur, il existe un plugin à même de le faire facilement: exec-PHP
Mais c’est du côté des ShortCodes que je vais vous emmener. Certes, la documentation officielle traitant du sujet n’est qu’anglaise:
http://codex.wordpress.org/Shortcode_API
Mais à côté de ça, j’ai trouvé un article très bien fait en français:
http://www.webinventif.fr/wordpress-creation-de-shortcode-avance/
L’auteur les présente tout d’abord comme des BBcodes personnalisables mais c’est bien plus que cela, c’est carrément une « étiquette de fonction ».
Et qui dit fonction, dit paramètre que l’on peut intercepter de deux manières différentes:
1) Via les attributs de notre « étiquette », pour choisir par exemple le nombre de colonnes de notre galerie et l’option de pointer la miniature sur le fichier orignal:
[gallerietest columns= »3″ link= »file »]
Ces paramètres seront listés le tableau attendu comme premier argument ($arguments) de notre fonction personnelle (dans le fichier functions.php de votre thème)
-
span class= »co1″>//…
-
//$arguments vaut donc array("columns’ => "4", "link" => "file");
-
"gallerietest", "sebastest");
-
//On notera au passage que cette dernière fonction appelée assigne au shortcode "gallerietest", la fonction "sebastest"
-
2) Via le contenu englobé de mon étiquette, par exemple [inverser]montexte[/inverser]
Dans ce cas-ci, c’est le second argument qui sera rempli de la chaîne englobée (la variable $contenu de mon exemple précédent).
Evidemment comme WordPress est très bien fait, on va pouvoir utiliser à la fois les arguments et le contenu englobé dans une même fonction.
Je ne parviens d’ailleurs pas à résisiter à la tentation de vous en créer un (totalement inutile) mais complet:
-
span class= »co1″>//On commence par vérifier l’argument "nombre"
-
‘nombre’‘nombre’]):3;
-
//On place la fin de chaine au début…
-
//…Et le début à la fin
-
//Et on renvoie la chaine ainsi formatée!
-
"decaler", "tourner_manege");
-
Qui me permettra avec ce code:
-
[decaler nombre="7"]Mon texte pourtant très joli[/decaler]
d’obtenir ceci:
[rotation_texte nombre= »7″]Mon texte pourtant très joli[/rotation_texte]