Simplifier les thèmes WordPress avec des brindilles et du bois
Dans un récent article sur les fonctionnalités futures que WordPress pourrait envisager, j’ai ajouté un langage Template au noyau. L’une de ces langues est twig, que WordPress a mis en œuvre via le plugin Timber. Alors, qu’est – ce que le langage Template et comment il fonctionne dans un environnement WordPress, en vaut – il la peine?
Le langage Template peut apporter d’énormes avantages au développement de thèmes WordPress, et le twig de sensiolabs est un « moteur de Template PHP flexible, rapide et sécurisé». En termes simples, twig fournit un métalangage (compilé en PHP) spécialement conçu pour convertir les données en sortie formatée. La sortie est généralement HTML, mais pas nécessairement: elle peut être XML, json, ou tout format de texte normal.La sortie est générée en fournissant au moteur branché les données requises (en tant qu’objet PHP) et en indiquant le modèle à rendre. Le moteur fait le reste du travail. Mais pourquoi changer? Il y a des milliers de thèmes WordPress existants qui semblent bien fonctionner (certains encore mieux) en utilisant PHP. Quel est le problème avec le langage du modèle? Avantages de l’utilisation du langage Template le site Web de twig énumère les six principaux avantages de l’utilisation du langage Template de twig: Introduction: twig est très concis par rapport à PHP et est plus facile à écrire et à maintenir un langage Template – oriented: C’est le langage spécialement créé pour créer la sortie, Avec toutes les fonctions: les brindilles sont puissantes, héréditaires et modulaires, ce qui rend la conception modulaire très simple. Facile à apprendre: vous n’avez certainement pas besoin d’être un développeur pour vous familiariser avec l’extensibilité de twig: les développeurs peuvent ajouter des plug – ins pour s’assurer que twig répond à n’importe quel besoin de première ligne. Rapide: cet avantage peut dépendre de la façon dont vous évaluez vos compétences PHP, puisque twig est compilé en PHP. Stylo
Je sais qu’il y a de fortes chances, du moins pour moi, que le PHP final soit meilleur que ce que j’ai inventé. Le plus grand avantage est la séparation des données de la conception. Ce que j’aime, c’est que twig sépare complètement les données de la conception. Twig est un moteur de modèle: vous lui Fournissez des données et lui dites quel modèle rendre.
Cela signifie que l’application sous – jacente ne traite maintenant que la collecte de ces données, plutôt que de les traiter pour son propre sujet. Pour WordPress, cela signifie aussi que les plug – ins deviennent centrés sur les données, tandis que les contrôles frontaux (comme les curseurs) deviennent le domaine du twig. A quoi ressemble cette branche? Twig est conçu pour être utilisé dans n’importe quelle application PHP, et il est facile de le démarrer pour les tests (un autre avantage). Un fichier PHP simple pour rendre le modèle peut ressembler à ceci: charger le résumé d57d16ef5adc60055565d et le modèle de brindille réel:
Le chargement de d57d16ef5adc60055565d est très simple et plus simple que le mélange php \/ html traditionnel. En fait, il y a plusieurs CMS, comme Pico, qui utilisent cette approche (ou peut – être un peu plus complexe, même si elle se décrit comme \
Intégrer le moteur Twist dans wordpress pour créer un ensemble de données WordPress de base pour gérer le rendu des modèles twist, tandis que dans les thèmes WordPress normaux, vous mélangez la collecte de données et leurs formats ultérieurs dans le même fichier PHP (pensez à la boucle) et les modèles de bois séparent les deux fonctions. Dans sa forme de base, le fichier Template ne concerne que les collections de da
Le seul bloc est le bloc de contenu. Alors regardons le modèle de contenu. Brindilles: charger le résumé d57d16ef5adc60055565d c’est un peu intéressant. Ce modèle ne concerne que la sortie d’un seul projet dans l’article, et il est facile de comprendre ce qui se passe même si vous n’êtes pas familier avec le langage twig.
Toutes les variables vérifiées dans l’instruction if ou la sortie dans l’instruction {}} sont assemblées à partir d’un fichier PHP et transmises au modèle twig. Non seulement le plugin Timber recueille la plupart des données, mais il offre aussi quelques éléments spécifiques à WordPress. Par exemple, vous pouvez accéder au contenu d’un message par post. Cependant, le contenu post _ est non traité, de sorte que le bois fournit la méthode post. Le contenu du contenu est retourné lorsque tous les filtres sont appliqués et que tout code Court est exécuté. Comme vous le verrez au bas du modèle, il y a deux macro – appels: émettre des méta – messages et émettre des catégories de messages et des balises.
Les macros sont stockées dans un fichier ramifié (que j’appelle macros.twig, mais qui peut être n’importe quel nom) qui est importé dans le modèle sous – jacent. Brindilles Ils n’accèdent pas automatiquement aux données, donc ceci est passé à la macro: charger le résumé d57d16ef5adc60055565d c’est là que les avantages du langage de modèle extensible commencent à se manifester. La macro peut être n’importe quoi, de la sortie post – méta au traitement de menu en passant par le curseur plein écran. Elle n’est pas ajoutée comme un plug – in, mais simplement comme une macro de brindille. Tout ce que vous devez faire avec php est de vous assurer que la macro a les données dont vous avez besoin.
Et PHP et twig? Ce n’est pas le double? L’hypothèse générale est que le thème bois suit les conventions générales et utilise la hiérarchie des modèles WordPress comme guide pour créer un fichier PHP pour chaque modèle dont le thème pourrait avoir besoin. C
Ce que j’aime vraiment dans la combinaison du bois et des brindilles, c’est la séparation entre les données et le design, ce qui signifie que la conception de thèmes pour WordPress (ou tout autre CMS utilisant des brindilles) n’exige aucune connaissance de PHP, et peut – être même pas beaucoup de connaissance de WordPress lui – même. Convenir des données à fournir, les développeurs et les concepteurs de sujets peuvent travailler sur le site en même temps. Des ajouts possibles au cœur de WordPress? Les avantages de Template Language me font également penser qu’il devrait être sérieusement considéré comme une mise à niveau potentielle du noyau WordPress. Récemment, il y a eu beaucoup d’articles sur les thèmes WordPress qui ont besoin d’être concis, simplement conçus, et les fonctionnalités qui doivent être divisées en plug – ins. S’il n’y a pas d’autre raison, twig forcera les développeurs de thème à suivre cette voie. Vous pouvez imaginer qu’il est relativement facile de créer des ensembles de données et de les fournir à un moteur de modèle comme twig, bien que l’énorme bibliothèque de sujets existants et l’énorme base d’installation puissent devenir de grands obstacles. Toutefois, cela ne signifie pas que twig et ses compagnons devraient être licenciés immédiatement. Le langage Template offre d’énormes avantages pour le développement de thèmes, en particulier le degré de simplicité qui manque aux thèmes WordPress traditionnels. Ce n’est que pour cette raison qu’il vaut la peine d’étudier les brindilles à l’aide d’Inserts en bois. Avez – vous de l’expérience avec le langage Template sur WordPress ou d’autres CMS? Tags: thèmes WordPress