La version 6.4.3 de WordPress étend encore un peu plus les avancées proposées et Twenty Twenty-Four, le nouveau thème par défaut du CMS. Cet article vous propose un aperçu des apports les plus notables des mises à jour de Shirley, la dernière version de WordPress.
Quelques raccourcis clavier
Cette dernière version de WordPress propose un certain nombre de raccourcis clavier visant à améliorer l’expérience d’édition des utilisateurs. Parmi ceux-ci, deux commandes améliorent grandement la fluidité du processus d’édition sur WordPress.
Duplication à la volée
Le raccourci Shift + Ctrl + D (ou Shift + Cmd + D sur Mac), lorsque le bloc est sélectionné, permet de le dupliquer à la volée. Ce raccourci vient s’ajouter aux deux commandes utiles ALT + Ctrl + T et ALT + Ctrl + Y permettant respectivement d’insérer un bloc avant, ou après le bloc courant.
Outil de recherche à l’échelle du backoffice
Le second raccourci intéressant proposé est Ctrl + K (ou Cmd + K sur Mac), qui permet d’ouvrir une boîte de dialogue afin de rechercher et exécuter rapidement des commandes au sein de l’éditeur WordPress.
N.B. Notez que ce champ de recherche est contextuel, et qu’il proposera des résultats différents, en fonction de l’élément sélectionné (ou pas). Il sera ainsi possible de transformer rapidement une sélection en ligne, de supprimer des parties de modèles, d’ouvrir les préférences de Gutenberg, d’accéder aux révisions de la page ou de l’article WordPress, ou encore de passer en affichage plein écran, etc.
N.B. cette palette de commande vos permettra d’accéder à l’ensemble de l’éditeur, y compris aux zones de compositions ou de modèles de votre thème WordPress, pourvu que vous recherchiez les éléments dans la langue définie sur le site.
Création de paternes synchronisés
WordPress offre maintenant la possibilité de créer des paternes synchronisés, réutilisables en l’état, sur l’importe quelles pages ou document du site WordPress. L’enregistrement d’une composition créée sur la page autorise donc de la « synchroniser » afin que celle-ci soit accessible depuis le reste de l’éditeur FSE.
N.B. la notion de « composition synchronisée » indique que le paterne créé sera rendu de façon identique pour chaque occurrence utilisée sur le site. Toute modification du modèle initial sera ainsi répercutée sur chacune des instances de la composition sur le site WordPress.
Group Blocks background images
Les blocs de groupe des thèmes utilisant la déclaration appearanceTools : true au sein du fichier theme.json supportent désormais l’intégration d’une image de fond.
Une déclaration de la fonctionnalité devra être ajoutée dans la section des « réglages » de « fond » du fichier :
{
« styles » : {
« blocks » : {
« my/block » : {
« background » : {
« backgroundImage » : « true »
L’intégration d’une image de fond se fera ainsi via le panneau des styles du bloc, à l’aide du bouton « background image » ou « Image de fond ».
Effet “visionneuse” pour les images
WordPress 6.4 intègre désormais nativement une lightbox permettant aux visiteurs d’un site d’afficher les images de contenu en plein écran. Cette fonctionnalité, accessible à l’échelle du site ou bloc par bloc, était déjà disponible à l’intégration via des plugins tels que Lightbox for Gallery & Image Blockî, mais les équipes de WordPress semblent avoir souhaité la proposer par défaut aux utilisateurs WordPress.
La fonctionnalité est accessible depuis l’onglet de réglages du bloc image à l’aide du bouton « Agrandir au clic ».
Orientation verticale du texte
Déjà disponible sur les versions précédentes du plugin Gutenberg, la gestion du texte vertical est officiellement intégrée par défaut à WordPress 6.4. Notez que le positionnement à droite ou à gauche du bloc de texte sera réalisé à l’aide de l’outil de justification du bloc parent.
Pour rappel, cette option activant l’utilisation de la règle CSS writing-mode, sa forme « camelCase » szera définie dans les réglages typographiques du fichier theme.json :
« settings » : {
« typography » {
…,
« writingMode » : true
}
}
Notons que depuis l’implémentation de l’orientation du texte dans WordPress 6.4, la déclaration du style de bloc par défaut n’est plus obligatoire pour lui faire bénéficier de l’orientation.
Export des paternes de composition via fichier JSON
Les compositions créées sur le site (ou mises à disposition par le thème ou les extensions WordPress) sont désormais exportables d’un site à l’autre via un simple bouton du me contextuel du paterne.
N.B. La fonction d’export n’est pour l’instant accessible que depuis la page des compositions.
Les fonctionnalités de la vue d’ensemble du document (la list View)
Prévisualisation des images en vue de liste
Les images intégrées au contenu disposent désormais d’un aperçu au sein de la « vue en liste de l’éditeur Gutenberg, facilitant ainsi la recherche de médias dans la page.
Possibilité de renommer les groupes de blocs
Il peut être fastidieux de retrouver des sections ou des groupes de contenus sur les documents à fort volume. WordPress autorise désormais les utilisateurs à attribuer des noms à ces groupes, comme autant d’étiquettes leur permettant de se repérer rapidement dans la structure de la page.
Block Hooks
Les hooks (crochets) de blocs consistent en un mécanisme introduit tant pour les développeurs que les utilisateurs. Ils permettent d’activer l’insertion automatique de blocs intégrant une propriété « blockHooks » au sein du fichier block.json du répertoire d’un bloc, ou faisant l’objet d’un filtrage à l’aide du filtre « hooked_block_types ».
Votre devis en 48 H chrono !
Demandez à être rappelé !
Nous préciserons ensemble votre projet
de vive voix
Lorsque le ou les crochets (les points d’ancrage) du bloc sont définis, un panneau d’extensions apparaît désormais sous les réglages de mise en page du bloc cible. L’utilisateur peut alors activer ou désactiver ce bloc pour chaque occurrence du bloc cible dans la page.
Dans cet exemple, un bloc de bouton « like » est intégré au site et proposé automatiquement sous chaque zone de contenu d’un post (page ou article). L’utilisateur a donc la possibilité de conserver, ou pas cette intégration, via un bouton dédié dans la zone « Extension » du bloc de thème.
N.B. ce bloc de thème est accessible depuis le menu « Apparence -> Éditeur » du backoffice de WordPress.
2 méthodes d’implémentation :
// block.json
Ici le fichier de déclaration block.json, d’un bloc type « bouton like » définit l’intégration automatique dudit bouton après la dernière occurrence d’un template de commentaire, après le contenu du post ou le titre de la page de l’article WordPress.
// https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/
{
«blockHooks» : {
« core/verse » : « before »,
« core/spacer » : « after »,
“core/column” : “firstChild”,
“core/comment-template” : “lastChild”
}
}
N.B. On comprend aisément le côté un peu trop systématique de cette méthode d’intégation
L’utilisation de « firstChild » et « lastChild » génrère un plugin Sidebar permettant à l’utilisateur d’activer ou désactiver le bloc inclus.
// hooked_block_type
La seconde méthode d’implémentation automatioque de bloc est fournie par un nouveau filtre PHP, permettant d’accrocher un bloc dynamique arbitrairement ou conditionnellement.
Le filtre générique hooked_block_types permet quant à lui de renvoyer un tableau de blocs « accrochés » en fonction de conditions arbitraires.
La fonction de rappel (callback) attendra pour cela 4 arguments :
Array $hooked_blocks est le tableau des blocs accrochés au bloc cible
String $position est la position courante du bloc
String $anchor_block est le slug du blo cible (‘core/single-post’ ou ‘core/navigation’, etc.)
WP_Block_Template $template est le template auquel appartient le bloc
Il est ainsi possible de filtrer les types de blocs affichés et de tester leur position relative, bloc cible et contexte d’affichage pour décider d’y accrocher arbitrairement un bloc appelé part son slug :
function cdw_hooks_ecommerce_cart( $hooked_blocks, $position, $anchor_block, $context){
if( ‘after’ == $position && ‘core/navigation’ == $anchor_block ){
$hooked_blocks[]= ‘cdw/woo-shopping-cart’;
}
return $hooked_blocks;
}
add_filter( ‘hooked_block_types’, ‘cdw_hooks_ecommerce_cart’ );
N.B. Le callback ne prend pas d’attributs permettant de personnaliser le bloc, seule une instance par défaut du bloc est filtrable.
WP 6.4.2 : une sérieuse mise à jour de sécurité
« Une vulnérabilité d’exécution de code à distance qui n’est pas directement exploitable dans le noyau, mais l’équipe de sécurité estime qu’il existe un potentiel de grande sévérité lorsqu’il est combiné avec certains plugins, en particulier dans les installations multisites. ».
// https://patchstack.com/articles/wordpress-core-6-4-2-security-release/q
Il s’agit d’un problème de sécurité potentiel qui ne peut être exploité que si une autre vulnérabilité (PHP object injection) est déjà présente sur votre site WordPress
Recommandations
Si WordPress 6.4 fonctionnera parfaitement avec PHP 7.4, le CMS rappelle que PHP 8.1.2 est vivement recommandé, ne serait-ce que pour faire bénéficier le site internet des performances offertes par cette dernière version du préprocesseur HTML.
Les mises à jour de WordPress 6.4.3
La mise à jour intermédiaire 6.4.3 de WordPress résout 5 bugs du noyau (le système) du CMS.
Parmi les correctifs de WordPress 6.4.3, on notera un problème corrigé d’incompatibilité de la surbrillance à l’édition d’éléments avec Chrome, ou encore un correctif des messages d’erreur à la connexion des utilisateurs.
Les correctifs de l’éditeur de blocs intéresseront davantage l’utilisateur Gutenberg. Parmi eux, on remarquera l’ajout d’un bouton « Reset » pour la gestion de l’image de fond d’un bloc de groupe (background-image), la correction d’un mauvais fonctionnement autorisant de renommer une catégorie de paterne avec le nom d’une catégorie existante, ou encore un correctif visant à limiter un hack CSS permettant de styliser l’éditeur au seul navigateur Safari, afin que celui-ci n’impacte plus Google Chrome.
16 bugs de l’éditeur de blocs ainsi que 2 failles de sécurités supplémentaires sont aussi corrigées… pas étonnant que WordPress reste aujourd’hui l’une des structures les plus sécurisées du marché.