J’ai à peine pu dormir la nuit dernière. Une fois dans une lune bleue, j’ai une idée que je veux essayer. Alors que mon travail quotidien en tant qu’écrivain signifie que je passe beaucoup moins de temps à explorer des sites à travers les essais rigoureux et les erreurs de création de plugins et de thèmes, certains problèmes me dérangent avec WordPress, le genre qui m’empêche de somnoler dans des rêves reposants et paisibles.

La semaine dernière, Gutenberg 8.9 a laissé tomber le drapeau expérimental à partir de son système de widgets basé sur des blocs. Dans l’ensemble, c’était une première sortie solide pour une fonctionnalité qui devrait atterrir dans WordPress 5.6 en décembre. Cependant, le plus gros problème concernait la manière dont les auteurs de thèmes seraient capables de styliser les widgets de manière traditionnelle. Étant donné que les widgets réels sont progressivement supprimés et remplacés par des blocs, les auteurs de thèmes n’auront plus accès aux classes standard de widget et de titre de widget. Cela pose problème car il n’existe aucun moyen prévisible de donner à tous les widgets d’une barre latérale particulière le même aspect.

L’exemple classique est celui du en boîte conception de widget. De nombreux thèmes, tels que le populaire Colibri, utilisez une telle conception pour leurs barres latérales, comme illustré dans la capture d’écran suivante.

Capture d'écran du thème WordPress Colibri avec un design de widget en boîte.
Conception de widget en boîte dans la barre latérale droite du thème Colibri.

Dans son état actuel, il n’existe aucun moyen fiable pour les auteurs de thèmes de créer une telle conception de barre latérale via le système de widgets basé sur des blocs. Puisqu’il n’y a aucun moyen d’exercer un quelconque contrôle sur la structure du contenu que les utilisateurs déposeront dans une barre latérale, il serait facile d’examiner cette situation et de penser que les concepteurs de thèmes perdent le contrôle.

Basé sur un récent Billet GitHub et un associé Discussion lente depuis plus tôt cette semaine, il ne semble pas que l’équipe de développement de Gutenberg ait l’intention de créer une parité entre les anciens et les nouveaux systèmes de widgets, du moins en ce qui concerne la conception de thèmes.

Il vaut la peine de le répéter. Je suis un fervent partisan de remettre ce type de contrôle ultime à l’utilisateur. Cependant, nous devons équilibrer cela en les aidant à faire des choix intelligents.

Les auteurs de thèmes doivent commencer à réfléchir à la manière dont cela affecte le travail qu’ils font et proposer des solutions créatives pour les barres latérales, les widgets et d’autres domaines qui seront affectés par l’édition complète du site à l’avenir.

Une solution potentielle

Cette chose qui m’a empêché de dormir la nuit dernière était une idée de combiner des motifs de blocs, une de mes fonctionnalités préférées, avec des widgets. Le problème était que le système de widgets basé sur des blocs ne prend actuellement pas en charge les modèles de bloc. Et, en attendant une discussion rapide avec Mark Uraine, l’un des designers de Gutenberg, sur un Billet GitHub, l’idée ne semblait même pas être sur la table.

Pour les auteurs de thèmes, la barre latérale traditionnelle et le système de widgets du passé n’étaient rien de plus qu’un modèle. WordPress a fourni aux développeurs de thèmes la possibilité de définir un élément HTML d’encapsulation pour l’ensemble du widget et le titre du widget. C’était un système rigide et inflexible, mais c’était une norme fiable.

Les widgets basés sur des blocs sont tout le contraire. Il s’agit essentiellement d’un programme gratuit où les utilisateurs peuvent déposer du contenu arbitraire dans une «zone de blocage».

Que se passe-t-il lorsque nous combinons la structure des motifs avec la flexibilité des blocs à l’intérieur des barres latérales?

C’est l’idée qui m’a fait sortir du lit et derrière l’écran d’ordinateur tôt ce matin après ma nuit agitée. C’était un concept si simple. Les auteurs de thèmes pourraient fournir un modèle de «widget» à leurs utilisateurs finaux. Cela donnerait aux utilisateurs le choix entre ce que l’auteur du thème pense le mieux et se forger son propre chemin – le meilleur des deux mondes.

Exemple d'utilisation de modèles pour les widgets basés sur des blocs.
Exemple simple de recréation d’un motif «widget» encadré.

Et c’est là que la beauté du système de blocs entre vraiment en jeu. Les auteurs de thèmes peuvent créer un nombre illimité de modèles. Cela offre encore plus d’options aux utilisateurs.

Peu importe si le plugin Gutenberg prend actuellement en charge les modèles pour le système de widgets basé sur des blocs, l’idée était simple à tester. Dans une barre latérale sur le nouvel écran de widgets, il me suffisait d’ajouter un nouveau bloc de groupe avec le widget classe. Ensuite, j’ai ajouté un bloc d’en-tête H3 avec le widget__title classe. Ces classes peuvent même être inutiles dans le contexte des modèles, à moins que les auteurs de thèmes ne souhaitent les cibler directement. En dehors des classes personnalisées, j’ai ajouté un arrière-plan simple au bloc Groupe et changé la couleur du texte de l’en-tête. J’ai également inséré un paragraphe vide où irait le contenu personnalisé de l’utilisateur.

Ensuite, il s’agissait simplement de le tester avec différents blocs.

Utilisation d'un modèle de bloc pour encapsuler un widget.
Faux modèle de bloc dans l’éditeur de blocs de widgets.

J’aimerais savoir ce que les auteurs de thèmes et l’équipe de Gutenberg pensent de l’idée. Je pense que cela a du mérite tout en apaisant certaines des douleurs de transition entre les widgets traditionnels et les widgets basés sur des blocs.

Le plus gros problème que je vois est l’aspect de la découvrabilité. Les utilisateurs finaux sauront-ils que ces «modèles de widgets / blocs» existent si les auteurs de thèmes ont choisi cette voie?


Source link