Toute entreprise WordPress qui construit et maintient des thèmes dignes de ce nom fait déjà au moins un travail préliminaire alors que WordPress se rapproche de plus en plus de son prochain système de thème de bloc. L’équipe thématique d’Automattic ne fait pas exception. Ben Dwyer a annoncé le nouveau thème parent Blockbase de l’équipe sur le blog Theme Shaper hier. Il inclut la prise en charge des styles globaux et des modèles de blocs.
Le thème est basé sur le classique, prêt pour l’éditeur de blocs Toile vierge projet lancé par Automattic en janvier. Jusqu’à il y a quelques jours, il a même été nommé Blank Canvas Blocks. J’ai vérifié le travail de l’équipe au cours des deux derniers mois, en attendant de voir comment Blockbase et Blocs de Mayland, un thème enfant basé sur le Mayland original de l’équipe, arrivait.
L’équipe a construit un système complet qui devrait les empêcher de réviser chaque thème de bloc qu’ils créent pour WordPress.com à chaque fois qu’il y a un changement. Pour les auteurs de thèmes qui n’ont pas encore plongé leurs orteils dans l’étang à thème de bloc, cela pourrait également être le point de départ dont ils ont besoin.
Le Saint Graal de certains concepteurs de thème de bloc créera un projet avec un peu plus d’un theme.json
déposer. Le but: laisser WordPress générer tout le CSS via des configurations de paramètres et de styles. Il ne sera jamais possible pour tous les auteurs de thèmes d’atteindre leurs objectifs de conception grâce à cela – la plupart auront besoin d’au moins quelque CSS personnalisé. Et, si un tel objectif est Une bonne chose ça reste à voir.
Néanmoins, l’avenir de la conception de thèmes reposera sur des styles configurés et générés par JSON. Blockbase exploite ce système pour créer un ensemble normalisé de repères pour ses éventuels thèmes enfants. Cela garantit que les créateurs ne mettent pas continuellement à jour leurs thèmes à mesure que le style des blocs évolue rapidement.
Blockbase sert de pont entre ce qu’il est actuellement possible de configurer via un theme.json
fichier et ce qui sera possible dans le futur.
C’est le moderne Soulignements (_s) pour les blocs, et la communauté de conception de thèmes WordPress aura besoin d’un tel projet pour aller de l’avant. Ils auront besoin d’un point de départ et d’un outil pédagogique, et Blockbase n’est que cela.
le dernière version du plugin Gutenberg ne couvre qu’une fraction de ce qu’il gère et, à terme, WordPress gérera dans les mois et les années à venir. Cependant, il permet aux auteurs de thèmes d’ajouter des paramètres personnalisés via le settings.custom
key, créant leurs propres variables CSS qui sont automatiquement sorties dans la tête du site. L’équipe thématique a utilisé cette fonctionnalité à son avantage. Là où Gutenberg ne prend actuellement pas en charge un paramètre, Blockbase a un theme.json
paramètre. Le thème utilise ensuite les variables CSS générées dans sa feuille de style. Comme Gutenberg et WordPress prennent finalement en charge davantage de ces paramètres, l’équipe peut simplement supprimer le code inutile.
Le thème n’est pas du tout sans opinion. «Blockbase se veut une représentation de tous les paramètres de style de thème qui, selon nous, devraient éventuellement vivre dans des styles globaux et être configurables par les utilisateurs», a écrit Dwyer. Le développement du thème de bloc pourrait encore changer de manière inattendue à mesure que le système continue d’être affiné, et le thème devra changer avec lui. Il faut s’attendre à des bosses sur la route.
C’est un projet dont les futurs et actuels modérateurs de blocs peuvent apprendre. Alors qu’il est actuellement disponible via GitHub, Dwyer a déclaré que l’équipe peut enquêter pour en faire un package npm s’il y a suffisamment d’intérêt.
L’une des choses les plus uniques du thème est de travailler avec le theme.json
paramètres via PHP. Dans Blockbase functions.php
fichier, il arrache les noms de famille de polices enregistrés dans le fichier JSON. Il charge ensuite automatiquement leurs feuilles de style associées à partir de l’API Google Fonts. Bien que cela ne soit pas documenté dans le code (cela devrait l’être), je suppose que l’objectif est de permettre aux auteurs de thèmes enfants de déclarer leurs propres polices. theme.json
fichiers et pour que Blockbase gère le chargement.
Le code est relativement simple. C’est la technique qui compte.
Alors que les développeurs sont aux prises avec la nature changeante de l’architecture des thèmes WordPress, ils devront trouver de nouvelles solutions pour certains des anciens problèmes qu’ils ont précédemment résolus dans un monde uniquement PHP. Avec la plupart des configurations de thèmes passant au JSON et des modèles au HTML, il peut être facile de sentir qu’ils perdent cette nature dynamique de PHP. C’était quelque chose de fiable, et les développeurs ont passé des années à perfectionner des systèmes personnalisés autour de l’ancien WordPress.
Le nouveau WordPress fournit un ensemble d’outils de conception plus robuste prêt à l’emploi, mais cela peut sembler un peu étranger. C’est pourquoi voir des exemples de code du monde réel sur la façon dont d’autres gèrent ces fonctionnalités est une étape vitale dans la transition de plus d’auteurs de thèmes vers le développement basé sur des blocs.
Cela peut être un petit échantillonnage de code, mais je suis impressionné par la pensée intelligente. Dans mon voyage pour en savoir plus sur le fonctionnement des thèmes de blocs, je me retrouve souvent à heurter un mur de briques, à lutter contre le système. Ce code fonctionne avec au lieu de contre il.
Je n’écris pas souvent plusieurs paragraphes sur une fonction qui ne couvre que 21 lignes de code, mais je suis toujours un développeur dans l’âme et j’aime voir des solutions élégamment simples. Il ne s’agit pas de la technique de chargement des polices; il s’agit de résoudre des problèmes. Ce code sera sans aucun doute copié plusieurs milliers de fois dans les années à venir et modifié pour des milliers d’utilisations. Si vous êtes un développeur de thèmes et que vous ne le voyez pas encore, vous le verrez.
Comme ça:
Comme Chargement…
— to wptavern.com