La création d’un shortcode avec un lien
Aujourd’hui on va voir comment créer simplement un shortcode qui pourrait ressembler à ça
L’idée ici est de donner la possibilité à l’utilisateur de créer un titre, un texte, un lien ainsi que le texte du lien.
Tout se passe dans le fichier functions.php. Voici le code
On crée notre fonction de shortcode.La fonction s’appelle create_shortcode et on donne le nom « mon_shortcode » à notre shortcode..pas très original, mais c’est pour l’exemple..
On utilise ici la fonction extract() pour importer les variables du tableau d’ attributs via la fonction shortcode_atts, dont vous pouvez obtenir plus d’infos ici .Mes attributs sont ici au nombre de 4, le « titre », le « text » du lien, le « lien », et le « content ».
Des conditions dans mon shortcode
L’exemple ici est particulier et pourra ne pas convenir selon les cas.J’utilise ici bootstrap pour le rendu .
Pour cet exemple, l’element bouton étant mis en position : absolute, sans le titre la disposition du shortcode se trouve un peu cassé par l’absence du titre..
J’applique donc ici une condition pour dire, » s’il y a un titre, affiche moi le shortcode avec titre et ces classes bootstrap« ..sinon » affiche le moi sans le titre avec ces autres classes bootstrap.. »
En gros, l’affichage dépendra de la manière dont l’utilisateur va remplir le shortcode, et permet un rendu correct quelque soit le choix de l’utilisateur.On pourrait multiplier les conditions ou ne pas en avoir selon les cas, ca dépend surtout du style css mis en place.
A vous ensuite de trouve le bon compromis pour un rendu optimal quelque soit le cas d’utilisation
L’utilisateur pourra ensuite utiliser le shortcode de la manière suivante:
[mon_shortcode href= »http://monlien.com/ » Title= »voici un titre » text= »voici le lien »]voila le shortcode[/mon_shortcode]
Créer un bouton shortcode dans l’éditeur de texte
L’inconvénient ici est que l’utilisateur devra tout taper à la main, ce qui risque de ne pas convenir dans la plupart des cas.On peut donc aller plus loin en créant un bouton dans la page d’édition d’un article, afin que l’utilisateur puisse générer le shortcode vierge en cliquant sur un bouton
Toujours dans functions.php, à la suite de notre fonction on rajoute donc le code standard pour créer un bouton dans le bloc situé au dessus de l’éditeur de texte
Ici on a juste à changer le nom du shortcode, mais le reste du code est standard et peut etre repris tel quel.
Dans notre fonction, on fait appel à un fichier js crée pour l’occasion: shortcode.js (à nommer ici aussi comme on veut)
On crée donc notre fichier shortcode.js
Pour afficher une image sur le bouton, il faudra donner la bonne arborescence ici:
image : url+’/logo2.png’
Pour l’exemple, j’ai fait comme si l’image se situait dans le meme dossier js, directement avec le fichier shortcode.js
Dans le backoffice, l’utilisateur pourra retrouver un nouveau bouton pour l’aider à créer son shortcode
Au clic sur ce bouton, le shortcode sera automatiquement ajouté dans l’éditeur:
[mon_shortcode][/mon_shortcode]
Il n’aura plus qu’a rajouter les paramètres nécessaires pour obtenir le rendu souhaité.
href= »…. » pour un lien, Title= »….. » pour le titre, et text= »….. » pour le texte du lien.
Et dans mes widgets??
Pour ajouter le shortcode également dans les widgets, il suffit de rajoute la fonction suivante dans le meme fichier functions.php