Créer un nouvel element
Pour commencer, définissons un objectif : Nous allons creer un nouvel element identique à l'element text-block à une exception près : Ce dernier ne prend pas en compte les sauts de ligne dans le contenu, alors que le nôtre va les transformer en br et en p, comme l'éditeur normal de WordPress.
La création d'un nouvel element pour le builder passe par la création d'un nouveau shortcode en passant par le framework unyson, puis son intégration au builder. Et pour cela, il va falloir commencer a personnaliser le framework !
Pour commencer, creez un dossier ./framework-customizations/ dans le dossier de votre theme. Toutes la personnalisation du plugin pour votre theme ira dans ce dossier, de la creation de nouveaux elements a la creation de nouvelles pages d'options (nous traiterons ce point sur un prochain article).
Notre objectif ici est de creer un nouveau shortcode nomme "multiline text box", nous allons donc creer le dossier ./framework-customizations/extensions/shortcodes/shortcodes/multiline-text-box. Notez la presence de deux "shortcodes" d'affile. Le premier est la pour indiquer que nous ajoutons nos shortcodes dans l'extension "shortcode" directement. Si vous creez votre propre extension et qu'elle necessite des shortcodes, vous pourrez les mettre dans le dossier ./framework-customizations/extensions/mon-extension/shortcodes/.
Maintenant que nous avons notre dossier, il va nous falloir creer les fichiers. L'objectif de cet element etant d'etre exactement comme "text-block" a l'exception de la gestion des sauts de ligne, nous allons copier-coller le contenu de ce plugin (que vous trouverez dans votre dossier wp-content/https://github.com/ThemeFuse/Unyson-Shortcodes-Extension/tree/master/shortcodes/text-block ou a cette adresse).
Une fois fait, vous vous retrouvez face à plusieurs fichiers et dossiers.
config.php gère le nom, la description et la tooltip de l'element. Passez donc y modifier le nom de notre element en "Multiline text block".
options.php permet de gérer les différents champs présents dans la configuration de l'element. Ici, nous n'avons qu'un seul champ, qui est un éditeur de texte WYSIWYG, et nous allons garder ce fichier comme ça.
static/ est un dossier contenant les différents assets nécessaires à notre element : Css, js, images. Ici, nous n'avons qu'un seul fichier, image/page builder Png, qui est l'icône du short code dans le builder. Remplacez-le.
views/ contient le rendu de notre element, que nous allons modifier pour ajouter le support des sauts de ligne. Pour ce faire, remplacez la ligne 9 par la ligne suivante : <?php echo wpautop(do_shortcode( $atts['text'] )); ?>
En quelques mots, cette ligne ajoute la fonction wpautop, qui transforme les sauts de ligne en <br> ou <p> </p> selon la situation.
Et voila, notre shortcode est finit ! Vous pouvez aller l'essayer dans l'administration.