WordPress 6.9 est sur le point d’arriver, et nous sommes impatients d’utiliser quelques-unes des nouvelles fonctionnalités fantastiques qui seront incluses dans la dernière version du CMS le plus populaire au monde.

Voici un aperçu des principales améliorations apportées à WordPress 6.9 :

  • De nouveaux blocs principaux (Accordéon, Math, et autres) pour une plus grande flexibilité dans la création de contenu.
  • Des améliorations majeures de l’éditeur, rendant l’expérience de construction encore plus fluide et intuitive.
  • De nouvelles API pour les développeurs, telles que l’API Abilities, des mises à jour de l’API Interactivity et de l’API Block Bindings, ainsi que d’autres mises à jour supplémentaires prévues pour la version 6.9.
  • Amélioration des flux de travail et de la collaboration grâce à Notes, à l’option de visibilité des blocs et à l’extension de la palette de commandes.

Ces mises à jour garantissent une meilleure expérience pour tous : Les utilisateurs de WordPress profiteront d’outils d’édition et de collaboration plus puissants, tandis que les développeurs bénéficieront de capacités d’intégration plus avancées grâce à un ensemble amélioré d’API.

Il y a beaucoup à couvrir, alors explorons les nouvelles fonctionnalités de WordPress 6.9 qui nous ont le plus enthousiasmés :

Nouveaux blocs du cœur

Suite à cette issue GitHub, WordPress 6.9 introduit six nouveaux blocs, étendant les capacités créatives de l’éditeur de blocs et éliminant le besoin pour les utilisateurs d’installer des plugins supplémentaires. Ces nouveaux blocs incluent Accordéon, Requête de terme, Temps de lecture, Math, Compteur de commentaires, et Lien de commentaire.

Pendant des années, les contributeurs ont débattu de la question de savoir si les nouveaux blocs devaient vivre dans le cœur ou rester dans le territoire des extensions. WordPress 6.9 adopte une approche pratique. Pour reprendre les mots de Mathias Ventura,

Je pense que le fait de ne pas avoir ces blocs dans la bibliothèque du cœur limite sévèrement l’expressivité sur laquelle les créateurs de thèmes (et les utilisateurs) peuvent compter pour construire de superbes designs et cela peut fracturer l’expérience globale, forçant les gens à aller vers des bibliothèques de blocs plus équipées à la place ou à renoncer complètement s’ils ont l’intention de sortir quelque chose de plus large.

Maintenant, regardons de plus près chacun des nouveaux blocs fusionnés dans le noyau avec WordPress 6.9.

Accordéon

Le très attendu bloc Accordéon arrive enfin dans le cœur. Il ne s’agit pas d’un bloc unique, mais plutôt d’une structure de blocs imbriqués que vous pouvez facilement explorer à partir de l’inspecteur de blocs.

La structure du bloc Accordéon dans l'éditeur d'articles.
La structure du bloc Accordéon dans l’éditeur d’articles.

Chaque bloc accordéon se compose des blocs internes suivants :

  • Accordéon : Le conteneur pour les éléments imbriqués de l’Accordéon.
  • Élément accordéon : Il s’agit de l’élément directement imbriqué, composé d’un titre et d’un panneau.
  • Titre de l’accordéon : Un titre cliquable qui ouvre et ferme un panneau.
  • Panneau accordéon : Ce panneau contient le contenu de l’élément accordéon et peut inclure n’importe quel type de bloc.
Un bloc accordéon dans l'éditeur de code.
Un bloc accordéon dans l’éditeur de code.

Le bloc a un style minimaliste, mais l’excellent guide de Justin Tadlock, « Styling accordions in WordPress 6.9 », fournit les connaissances essentielles pour personnaliser l’apparence de vos accordéons.

Consultez les PRs #64119, #71222, et #71388 pour plus de détails sur le nouveau bloc Accordéon.

Requête sur les termes

WordPress 6.9 introduit un nouveau bloc « Requête de termes ». Similaire au bloc Requête, il affiche les termes au lieu des articles. Ce nouveau bloc est en fait un modèle de termes contenant un bloc de lignes avec un nom de terme et un nombre de termes.

Structure du bloc Requête de termes
Structure du bloc Requête de termes

Le bloc Requête de termes comporte plusieurs options de configuration. Vous pouvez définir la taxonomie, trier les éléments de la liste, spécifier les éléments sélectionnés et choisir d’afficher ou de masquer les termes vides ou imbriqués. Vous pouvez également définir le nombre de termes à afficher.

Réglages du bloc de requête de termes
Réglages du bloc de requête de termes

Le modèle de terme a deux modes d’affichage : Liste et Grille. L’affichage en grille vous permet de personnaliser la position des éléments de la grille et le nombre de colonnes.

Le bloc Requête de termes a deux modes d'affichage : Liste et Grille
Le bloc Requête de termes a deux modes d’affichage : Liste et Grille

Vous pouvez également modifier les étiquettes des éléments du bloc. Par exemple, vous pouvez utiliser un élément h2 pour le bloc Nom du terme. Vous pouvez également insérer des blocs entre les éléments du bloc Requête de termes. L’image ci-dessous montre un bloc Séparateur entre les lignes.

Personnalisation du bloc Requête de termes
Personnalisation du bloc Requête de termes

Pour en savoir plus sur le bloc Requête de termes, consultez le PR #70720 et l’issue #49094.

Temps de lecture

Comme son nom l’indique, le bloc Temps de lecture affiche le temps de lecture de l’article ou de la page en cours. Le bloc dispose de deux modes, Temps de lecture et Nombre de mots, et d’une option permettant d’afficher le temps de lecture sous la forme d’une plage ou d’une valeur spécifique.

Le bloc Temps de lecture
Le bloc Temps de lecture
Le bloc Temps de lecture en mode Comptage de mots
Le bloc Temps de lecture en mode Comptage de mots

Maths

Le bloc Maths vous permet d’insérer des formules mathématiques dans votre contenu. Il vous suffit d’écrire vos formules en syntaxe LaTeX, et elles seront converties en symboles mathématiques correspondants.

Le bloc Math vous permet d'insérer des formules mathématiques dans les articles et les pages.
Le bloc Math vous permet d’insérer des formules mathématiques dans les articles et les pages.

Il est également possible d’insérer des formules en ligne.

Ajouter des mathématiques en ligne dans WordPress 6.9
Ajouter des mathématiques en ligne dans WordPress 6.9

Lien vers les commentaires et nombre de commentaires

Les blocs Lien vers les commentaires et Nombre de commentaires ne sont plus marqués comme expérimentaux. Les deux blocs sont maintenant disponibles dans l’éditeur de site et l’éditeur d’articles.

Améliorations des blocs existants

WordPress 6.9 introduit des mises à jour mineures et majeures à une multitude de blocs, améliorant leur fonctionnalité et/ou leur facilité d’utilisation.

Correction du problème de remplissage de l’arrière-plan pour le bloc Titre

Un problème de spécificité CSS avec le remplissage de l’arrière-plan du bloc Titre a été corrigé avec WordPress 6.9. Avant cette version, les styles de remplissage appliqués au bloc titre affectaient d’autres blocs qui utilisaient des titres, comme le bloc Accordéon.

Grâce à l’utilisation de la pseudo-classe :where(), le sélecteur CSS pour les en-têtes qui utilisent des arrière-plans a été rendu plus spécifique, comme décrit dans les notes de développement.

h1, h2, h3, h4, h5, h6 {
	&:where(.wp-block-heading).has-background {
		padding: ...;
	}
}

Si un thème utilise la classe .has-background avec des éléments d’en-tête qui ne sont pas des blocs Titre, ces éléments ne reçoivent plus la marge intérieure d’arrière-plan par défaut.

Élément HTML sélectionnable pour les blocs Bouton et Séparateur

Pour améliorer l’accessibilité, vous pouvez désormais sélectionner les éléments HTML des blocs Bouton et Séparateur.

Pour le bloc Bouton, vous pouvez choisir entre <a> et <button> dans les réglages avancés du bloc.

Réglages avancés du bloc Bouton
Réglages avancés du bloc Bouton

Pour le bloc Séparateur, vous pouvez choisir entre <hr> et <div>.

Réglages avancés du bloc séparateur
Réglages avancés du bloc séparateur

Sélecteur de nom d’étiquette pour le bloc Contenu de l’article

A partir de WordPress 6.9, vous pouvez sélectionner l’enveloppe sémantiquement appropriée pour le bloc Contenu de l’article. Vous avez le choix entre <main>, <section>, ou <article>.

Option d'élément HTML pour le bloc Contenu d'article.
Option d’élément HTML pour le bloc Contenu d’article.

Icônes de lien personnalisées pour les liens sociaux

Un nouveau filtre block_core_social_link_get_services permet désormais aux développeurs d’ajouter des icônes de lien personnalisées au bloc Liens sociaux à l’aide de variations de bloc. Cet ajout offre davantage d’options pour personnaliser le bloc Liens sociaux et évite au cœur de gérer une longue liste de services.

Vous pouvez trouver les détails techniques et le code pour enregistrer une variation de lien social dans le PR #70261. L’image suivante montre le résultat dans l’éditeur d’articles.

Une icône de lien personnalisée dans WordPress 6.9
Une icône de lien personnalisée dans WordPress 6.9

Tri par ordre de menu dans le bloc Boucle de requête

En plus du titre et de la date de l’article, vous pouvez maintenant trier les types d’articles qui supportent les attributs de page dans le bloc Boucle de requête par ordre de menu. Pour tester cette nouvelle fonctionnalité, créez plusieurs pages et utilisez la modification rapide pour modifier chacune d’entre elles.

Modifiez l'ordre du menu dans l'écran Pages.
Modifiez l’ordre du menu dans l’écran Pages.

Vous pouvez également modifier l’ordre des éléments de menu en éditant chaque page individuellement. Dans la colonne latérale des pages, à gauche, cliquez sur le bouton Actions (les trois points dans le coin supérieur droit). Sélectionnez ensuite Ordre. Une fenêtre contextuelle s’affiche avec un champ numérique permettant de définir l’ordre du menu.

Sélectionnez Ordre du menu dans le menu Actions.
Sélectionnez Ordre du menu dans le menu Actions.
Modifier l'ordre des menus
Modifier l’ordre des menus

Après avoir défini l’ordre des pages, créez une nouvelle page et ajoutez un bloc Boucle de requête. Sélectionnez Pages comme type de message et triez-les par ordre de menu.

La valeur menu_order est disponible pour tous les types d’articles de la base de données ; toutefois, vous devez enregistrer la prise en charge de la fonctionnalité page-attributes pour que ce réglage soit disponible pour vos types de publications personnalisés.

Pour plus d’informations sur cette fonctionnalité, référez-vous au PR #68781.

Mises à jour du bloc Navigation

Le bloc Navigation a fait l’objet de plusieurs mises à jour. Voici une liste rapide des principales d’entre elles :

Un nouveau bouton Créer une page a été ajouté à l’interface utilisateur du bloc Lien de navigation. Cette mise à jour inclut l’option de publication immédiate de la page.

Créer une page à partir de l'interface utilisateur du bloc Lien de navigation
Créer une page à partir de l’interface utilisateur du bloc Lien de navigation
Option de publication immédiate
Option de publication immédiate

Cette fonctionnalité est également disponible dans le bloc Bouton, même lorsqu’il est inclus dans le menu de navigation.

Commande Créer une page dans l'interface utilisateur du bloc Bouton
Commande Créer une page dans l’interface utilisateur du bloc Bouton

Grâce à l’API Block Bindings, l’attribut URL du bloc Navigation Link est mis à jour dynamiquement lorsque l’URL d’origine change, à condition que le lien renvoie à une entité, telle qu’une page ou un article.

URL du lien synchronisé
URL du lien synchronisé

Une nouvelle option de basculement dans la colonne latérale des réglages du bloc Lien de navigation permet désormais aux utilisateurs de configurer les liens de navigation pour qu’ils s’ouvrent dans un nouvel onglet. Auparavant, l’option Ouvrir dans un nouvel onglet n’était disponible que dans le menu contextuel du lien modal. Avec cet ajout, l’option est plus facile à localiser, car elle est positionnée à côté de tous les autres réglages dans la colonne latérale.

Option Ouvrir dans un nouvel onglet dans l'interface utilisateur du lien de navigation
Option Ouvrir dans un nouvel onglet dans l’interface utilisateur du lien de navigation

Vous pouvez maintenant définir un arrière-plan transparent pour le bloc Menu de navigation à partir de l’interface de l’éditeur. Avant WordPress 6.9, vous deviez utiliser un code CSS personnalisé pour obtenir cet effet.

Variations des blocs Titre extensible et Paragraphe extensible

Les blocs Titre extensible et Paragraphe extensible sont deux nouvelles variations qui étirent automatiquement le texte pour l’adapter à la largeur totale du conteneur.

Vous pouvez insérer ces deux variantes de deux manières différentes : directement à partir de l’outil d’insertion de blocs ou à partir du menu déroulant de la barre d’outils des blocs Rubrique et Paragraphe.

Variations des blocs Titre extensible et Paragraphe extensible
Variations des blocs Titre extensible et Paragraphe extensible
Transformer en paragraphe extensible
Transformer en paragraphe extensible

Prise en charge des images de poster pour le bloc Couverture

Grâce à un nouveau composant poster-image, le bloc Couverture prend désormais en charge les images de poster. Ceci est particulièrement utile pour les vidéos de grande taille et pour les utilisateurs ayant des connexions lentes, améliorant ainsi l’expérience de l’utilisateur.

Maintenant que nous avons exploré les principaux ajouts et améliorations apportés aux blocs principaux, examinons comment WordPress 6.9 facilite la collaboration en équipe pour la création de contenu, en fonction des responsabilités de chacun. Cette version introduit deux fonctionnalités puissantes qui vont considérablement améliorer la collaboration et les flux de travail au sein de l’éditeur : Les notes et la visibilité.

Blocs de commentaires avec notes dans WordPress 6.9

Vous pouvez désormais ajouter des notes aux blocs dans l’éditeur d’articles. Cette fonctionnalité permet une collaboration asynchrone entre les membres de l’équipe, vous permettant de suivre les activités et de rationaliser les flux éditoriaux.

Comme il s’agit d’une fonctionnalité spécifique à l’éditeur d’articles, les utilisateurs doivent avoir la capacité edit_posts pour cet article afin d’ajouter des notes. Cela signifie que :

  • Les utilisateurs connectés avec le rôle d’administrateur ou d’éditeur peuvent voir toutes les notes sur tous les articles.
  • Les auteurs et les contributeurs peuvent consulter et modifier les notes qu’ils ont créées.
  • Les abonnés ne peuvent pas consulter les notes.

Pour ajouter une nouvelle note, cliquez sur le bouton Ajouter une note dans la barre d’outils du bloc.

Un nouvel élément Ajouter une note apparaît dans le menu Options de la barre d'outils du bloc.
Un nouvel élément Ajouter une note apparaît dans le menu Options de la barre d’outils du bloc.

Il affiche une nouvelle colonne latérale Notes et un panneau de notes dans lequel vous pouvez ajouter votre note.

Ajouter une note à un bloc dans WordPress 6.9
Ajouter une note à un bloc dans WordPress 6.9

Vous pouvez activer ou désactiver la colonne latérale Notes en cliquant sur le bouton Toutes les notes qui apparaît après que vous ayez ajouté votre première note.

Contrôle de toutes les notes dans la barre d'outils des réglages de l'éditeur.
Contrôle de toutes les notes dans la barre d’outils des réglages de l’éditeur.

Les notes peuvent être résolues, modifiées ou supprimées.

Modifier une note dans WordPress 6.9
Modifier une note dans WordPress 6.9

Les notes sont activées par défaut pour les articles et les pages, mais vous pouvez également les activer pour vos types de publication personnalisés grâce au nouveau support notes. Voici un exemple simple de la façon d’ajouter le support des notes pour un type de publication personnalisé :

register_post_type( 'book', array(
	'label' => 'Books',
	'public' => true,
	'show_in_rest' => true,
	'supports' => array(
		'title',
		'editor' => array( 'notes' => true ),
		'author',
		'excerpt',
	),
) );

L’ajout de la prise en charge des notes lors de l’enregistrement d’un type de publication personnalisé est assez simple. Cependant, ajouter la prise en charge des notes à un type de publication existant est un peu plus délicat. Heureusement, les développeurs travaillent déjà à rationaliser le processus, et nous pouvons nous attendre à des mises à jour de cette fonctionnalité dans les prochaines versions de WordPress.

Techniquement, les notes sont des commentaires et sont stockées dans la table wp_comments avec le champ comment_type défini à note. Pour accéder aux notes de manière programmatique à partir d’une extension, utilisez la fonction get_comments() comme ceci :

$args = array(
	'post_id' => $post_id,
	'type'    => 'note',
);
$notes = get_comments( $args );

Notez que lorsque vous essayez de récupérer des notes à partir d’une extension, vous devez spécifier le type note car les commentaires de type note sont exclus par défaut des résultats de la requête.

Lorsqu’un utilisateur ajoute une note à un bloc, l’auteur de la publication reçoit un e-mail de notification. Ces e-mails sont activés par défaut, mais peuvent être désactivés à partir du tableau de bord de WordPress en naviguant vers Réglages > Discussion > M’envoyer un e-mail à chaque fois et en désélectionnant la nouvelle option Toute personne qui publie une note.

Réglages de notification par e-mail dans WordPress 6.9
Réglages de notification par e-mail dans WordPress 6.9

Les développeurs peuvent contrôler ces notifications de manière programmatique en utilisant le filtre notify_post_author.

Veuillez noter qu’il s’agit de la version initiale de la fonctionnalité des notes. L’équipe de développement travaille déjà sur la prochaine itération pour WordPress 7.0.

De plus, dans WordPress 6.9, les notes ne sont disponibles qu’au niveau du bloc. Les notes en ligne devraient être implémentées dans les prochaines itérations.

Reportez-vous aux notes du développeur et à l’itération Block Commenting pour WordPress 6.9 pour une analyse plus approfondie des nouvelles fonctionnalités des notes avec plusieurs exemples de code.

Contrôle de la visibilité des blocs

WordPress 6.9 introduit une nouvelle API pour les blocs et une nouvelle interface pour contrôler la visibilité des blocs sur l’interface publique et dans l’éditeur.

Cette fonctionnalité est utile pour masquer les blocs qui ne sont pas encore prêts à être affichés, et elle complète parfaitement la nouvelle fonctionnalité Notes. Désormais, les équipes peuvent collaborer à la création de pages et ne finaliser les sections que lorsqu’elles sont complètes et approuvées.

Pour tester cette nouvelle fonctionnalité, créez un nouvel article ou une nouvelle page et ajoutez un ou plusieurs blocs ou modèles. Ensuite, masquez le bloc ou le modèle dans le menu déroulant Réglages des blocs ou dans la vue en liste, et vérifiez l’effet dans l’éditeur et dans l’interface publique.

Masquer les blocs dans WordPress 6.9
Masquer les blocs dans WordPress 6.9
Le nouveau contrôle de la visibilité des blocs
Le nouveau contrôle de la visibilité des blocs

Palette de commandes étendue au tableau de bord de l’administrateur

La palette de commandes est maintenant disponible à la fois dans l‘éditeur de site et dans le tableau de bord de WordPress (Ctrl+K ou Command+K) pour rendre la navigation plus facile et plus rapide. Saisissez dans la palette pour effectuer une recherche, naviguer dans le tableau de bord ou effectuer des actions directement. Par exemple, en saisissant « ajout », vous obtiendrez un menu d’actions telles que Ajouter un article, Ajouter un fichier média, Ajouter un utilisateur, etc.

La palette de commandes dans l'écran Articles
La palette de commandes dans l’écran Articles

Plusieurs propositions ont été faites pour étendre et améliorer la palette de commandes, et de nouvelles commandes seront ajoutées à l’avenir. Suivez la conversation sur la question de l’aperçu de la palette de commandes pour vous tenir au courant.

Nouveautés pour les développeurs

Passons maintenant à la partie de WordPress 6.9 la plus intéressante pour les développeurs. Un tout nouvel ensemble d’API permet désormais aux développeurs de rendre leurs plugins accessibles aux systèmes d’intelligence artificielle. Mais ce n’est pas tout ! WordPress 6.9 apporte également de nombreuses améliorations aux API existantes, notamment l’API Interactivité, Block Bindings et l’API DataViews.

Explorons les nouvelles fonctionnalités en détail.

API Abilities

WordPress 6.9 introduit l’API Abilities, une nouvelle interface fonctionnelle qui fournit un registre standardisé, permettant aux extensions, aux thèmes et au cœur de WordPress d’exposer leurs capacités dans des formats lisibles à la fois par l’homme et par la machine.

Ce registre centralisé est l’endroit où toutes les fonctionnalités peuvent être formellement enregistrées pour être découvertes, validées et exécutées de manière cohérente via PHP, les API REST et les solutions d’intelligence artificielle.

La nouvelle API Abilities bénéficie directement aux utilisateurs de WordPress en permettant aux services externes – tels que les assistants IA, les applications externes et les fonctionnalités de l’interface utilisateur comme la Palette de commande – de comprendre et d’exécuter les actions de WordPress (par exemple, la publication ou l’édition) d’une manière standardisée.

Quels sont les avantages pour les développeurs ?

Le premier avantage est la clarté : Une capacité est une fonctionnalité enregistrée avec une description, une entrée et une sortie.

Le deuxième aspect essentiel de la nouvelle API est la normalisation. L’API garantit que les commandes sont formulées et comprises de manière cohérente, quel que soit l’environnement. Il peut s’agir du tableau de bord de WordPress, de l’éditeur de blocs, d’une application externe accédant à l’API REST ou d’un assistant d’intelligence artificielle.

Un autre aspect clé est l’automatisation du flux de travail. Avec l’API Abilities, vous pouvez créer des séquences d’opérations permettant aux développeurs de construire des flux de travail automatisés complexes.

Les développeurs peuvent utiliser l’API Abilities à diverses fins, notamment pour étendre les fonctionnalités de la Palette de commande, créer des flux de travail automatisés, etc.

Une fois enregistrées, les capacités deviennent accessibles aux systèmes d’IA, tels que ChatGPT et Gemini :

L’API gère l’enregistrement et les permissions, tandis que les adaptateurs de protocole les traduisent dans des formats que les systèmes d’IA externes comprennent. Cela permet d’établir une connexion solide entre les fonctionnalités de WordPress et les assistants d’IA, l’API de première partie servant de source définitive pour la logique exposée.

Une capacité est « une unité autonome de fonctionnalité avec des entrées, des sorties, des autorisations et une logique d’exécution définies »

L’API fournit un ensemble de fonctions qui vous permettent de gérer tous les aspects des capacités et des catégories de capacités. Elle propose également de nouveaux points d’extrémité, actions et crochets de filtrage pour l’API REST.

Pour enregistrer une nouvelle capacité, l’API propose la nouvelle action wp_abilities_api_init et la fonction wp_register_ability. Voici la signature de la fonction :

wp_register_ability( string $name, array $args ): ?WP_Ability

wp_register_ability accepte les paramètres suivants :

  • $name (string) est un identifiant unique pour la capacité
  • $args (array) est un tableau d’arguments

La fonction renvoie une instance de WP_Ability si l’enregistrement a réussi et null en cas d’échec.

Voici un exemple d’enregistrement d’une capacité, tiré de la documentation :

add_action( 'wp_abilities_api_init', 'my_plugin_register_site_info_ability' );
function my_plugin_register_site_info_ability() {
	wp_register_ability( 'my-plugin/get-site-info', array(
		'label' => __( 'Get Site Information', 'my-plugin' ),
		'description' => __( 'Retrieves basic information about the WordPress site including name, description, and URL.', 'my-plugin' ),
		'category' => 'data-retrieval',
		'output_schema' => array(
			'type' => 'object',
			'properties' => array(
				'name' => array(
					'type' => 'string',
					'description' => 'Site name'
				),
				'description' => array(
					'type' => 'string',
					'description' => 'Site tagline'
				),
				'url' => array(
					'type' => 'string',
					'format' => 'uri',
					'description' => 'Site URL'
				)
			)
		),
		'execute_callback' => function() {
			return array(
				'name' => get_bloginfo( 'name' ),
				'description' => get_bloginfo( 'description' ),
				'url' => home_url()
			);
		},
		'permission_callback' => '__return_true',
		'meta' => array(
			'annotations' => array(
				'readonly' => true,
				'destructive' => false
			),
		),
	));
}

Voici ce que fait ce code :

  • wp_abilities_api_init est l’action à utiliser lors de l’enregistrement d’une nouvelle capacité, ce qui permet de s’assurer que l’API des capacités est entièrement initialisée avant de tenter d’enregistrer la nouvelle capacité.
  • wp_register_ability est la fonction qui enregistre une nouvelle capacité. Le premier argument est l’identifiant unique de la capacité (my-plugin/get-site-info) ; le second argument est un tableau de paramètres.
  • label est un libellé lisible par l’homme à utiliser dans l’interface utilisateur (par exemple, la palette de commande).
  • description est la description de l’aptitude
  • category est la catégorie de l’aptitude
  • output_schema est un tableau qui définit les données renvoyées par la capacité.
  • execute_callback est une fonction de rappel qui est exécutée lorsque la capacité est invoquée.
  • permission_callback est une fonction qui est exécutée pour vérifier si l’utilisateur ou l’agent a la permission d’exécuter la capacité.
  • meta est un tableau de métadonnées optionnelles.

Les développeurs trouveront plus de détails et de nombreux exemples de code dans les ressources suivantes :

Améliorations de l’API Block Bindings

WordPress 6.9 apporte plusieurs améliorations à l’API Block Bindings.

Tout d’abord, la prise en charge de l’API Block Bindings a été étendue pour inclure d’autres blocs.

  • Le bloc Date accepte désormais n’importe quelle date, indépendamment de la date de publication ou de mise à jour de l’article. Cela a été rendu possible par l’ajout de la nouvelle source de données core/post-data. Vous pouvez l’essayer vous-même en ajoutant un bloc Date à un article et en lui attribuant une date personnalisée. Ajoutez ensuite un autre bloc Date et sélectionnez la variante Date de publication. Modifiez ensuite la date de publication, enregistrez le message et vérifiez les différences. Pour les détails techniques, veuillez vous référer au PR #70585.
  • WordPress 6.9 ajoute également le support de l’attribut caption du bloc Image dans les pattern overrides.

L’interface utilisateur de l’éditeur a été améliorée pour montrer les différentes sources de Block Bindings. Les utilisateurs peuvent passer d’une source de données à l’autre et lier ou délier des attributs en quelques clics (voir l’image ci-dessous).

WordPress 6.9 introduit également quelques changements intéressants pour les développeurs.

Un nouveau filtre block_bindings_supported_attributes_{$block_type} a été ajouté à l’API pour une utilisation côté serveur. Ce filtre vous permet de spécifier quels attributs de bloc peuvent être connectés à une source de données personnalisée.

Côté client, vous pouvez désormais enregistrer des sources personnalisées en utilisant la méthode getFieldsList dans la fonction d’enregistrement de la source.

Les notes de développement fournissent un bloc de code précieux que vous pouvez copier et coller dans la console de votre navigateur pour afficher l’interface utilisateur améliorée de Block Bindings.

L’image suivante montre le nouveau sélecteur de source pour un bloc Paragraphe.

L'interface de liaison des blocs dans WordPress 6.9
L’interface de liaison des blocs dans WordPress 6.9

Améliorations des DataViews et DataForm

Les API DataViews et DataForm fournissent un moyen moderne et standardisé de visualiser et de gérer des données structurées, telles que des listes d’articles, de pages ou de médias.

Les deux API ont des objectifs différents.

  • L’API DataViews est conçue pour la visualisation et la navigation dans les données. Elle vous permet de créer des vues, notamment des tableaux, des grilles et des listes. Elle vous permet également de rechercher, de filtrer et de trier les données.
  • L’API DataForm est conçue pour modifier les éléments d’un ensemble de données.
Un exemple de DataViews : Affichage de pages dans la disposition en liste de l'éditeur de site
Un exemple de DataViews : Affichage de pages dans la disposition en liste de l’éditeur de site

Avec WordPress 6.9, ces deux API reçoivent plusieurs améliorations. Vous trouverez ci-dessous une liste des principaux ajouts :

  • Les DataViews bénéficient de nouveaux champs, contrôles et opérateurs. Parmi les différents ajouts, vous trouverez de nouvelles définitions de types de champs media, booléen, e-mail et array, de nouveaux contrôles checkbox et toggleGroup Edit, de nouveaux opérateurs de filtre, et bien plus encore.
  • Le système de validation a été entièrement revu. Tous les champs prennent désormais en charge les règles required et elements, ainsi que la définition d’une validation personnalisée via la fonction personnalisée
  • Outre le type de champ datetime, les DataViews prennent désormais en charge le type de champ date . Cela vous permet d’afficher des éléments en fonction de la date uniquement. Cet ajout permet également de filtrer par date à l’aide du nouveau composant Calendar.
  • La nouvelle version ajoute également les composants DateCalendar et DateRangeCalendar.
  • La présentation du tableau a encore été améliorée. Il est désormais possible de sélectionner plusieurs éléments en utilisant Control/⌘ + click.
  • La nouvelle propriété groupByField vous permet de regrouper visuellement les données en fonction des valeurs des champs, ce qui facilite l’organisation des données. Cette fonctionnalité est disponible à la fois pour les grilles et les tableaux.
  • WordPress 6.9 introduit également des améliorations de performance pour les DataViews. Avant la version 6.9, le composant FeaturedImageView utilisé dans les DataViews chargeait les images en pleine taille. Cela signifiait que les sites comportant de nombreuses images de prévisualisation de grande taille devaient charger plusieurs mégaoctets d’images. À partir de la version 6.9, cependant, la grille utilise des images réactives, ce qui améliore considérablement les performances du backend pour les sites qui utilisent un grand nombre d’images.

D’autres changements notables ont été apportés aux DataViews :

  • Introduction de filtres verrouillés qui permettent de visualiser les effets des filtres sans les modifier. Ceci est utile pour les vues préconfigurées.
  • Un nouveau contrôle d’édition a été mis en place pour le champ date.
  • L’état vide des DataViews peut désormais être personnalisé, ce qui vous permet de personnaliser le message ou de fournir un nœud React pour une personnalisation plus poussée.

Pour une liste complète des ajouts et des changements apportés aux API DataViews et DataForm, veuillez vous référer aux notes de développement et aux PR #70567 et #70578.

Améliorations de l’API Interactivity

Comme son nom l’indique, l’API Interactivity permet aux développeurs de créer des blocs interactifs qui réagissent en temps réel aux interactions de l’utilisateur. En bref, il s’agit d’un outil permettant de créer des expériences utilisateur riches et de rendre les sites attrayants, dynamiques et engageants.

Introduite pour la première fois dans WordPress 6.5, l’API Interactivité reçoit des mises à jour significatives dans cette version. Vous trouverez ci-dessous quelques-uns des ajouts les plus intéressants.

Ajout d’ID aux directives de l’API Interactivity

Vous pouvez désormais ajouter des identifiants aux directives de l’API Interactivity. Cette fonctionnalité est utile car elle vous permet de contourner la limitation qui consiste à ne pas pouvoir utiliser plusieurs attributs portant le même nom dans le même élément HTML.

Pour attribuer un identifiant à une directive, ajoutez un triple tiret (---) suivi de l’identifiant, comme dans l’exemple suivant :

<div
	data-wp-watch---my-unique-id="callbacks.firstWatch"
	data-wp-watch---another-id="callbacks.secondWatch"
></div>

Chargement des modules de script et des feuilles de style

Cette modification permet une navigation plus complète et plus fluide côté client. WordPress remplace désormais les feuilles de style et charge les modules de script « après » la navigation côté client. Cette modification a des conséquences importantes.

  • Le nouvel algorithme réutilise les feuilles de style partagées avec les pages précédentes, en charge de nouvelles qui ne sont pas présentes dans ces pages et désactive celles qui ne sont pas utilisées. Cela permet de minimiser les requêtes sur le réseau.
  • Les modules de script sont également gérés plus efficacement grâce aux nouvelles définitions de importmap.
  • Enfin, la pré-lecture précharge toutes les feuilles de style et tous les modules de script qui n’ont pas encore été préchargés.

Régions de routeurs à l’intérieur des éléments interactifs

Un autre ajout est la prise en charge des régions de routeur à l’intérieur des éléments interactifs. Auparavant, la région de routeur – la zone de la page qui se met à jour lorsque l’utilisateur clique sur un lien – devait être un élément interactif racine. Cela signifiait que le contenu ne se mettait pas à jour si la région du routeur était située à l’intérieur d’un autre élément interactif. WordPress 6.9 change la donne, en permettant aux développeurs de placer des régions de routeur à l’intérieur d’éléments interactifs.

Nouvelle propriété attachTo pour les régions de routeur

Les régions de routeurs acceptent désormais une nouvelle propriété attachTo qui peut être définie à l’intérieur de data-wp-router-region directive. Grâce à cette nouvelle propriété, la région de routeurs peut désormais être rendue même si elle n’est pas présente sur la page initiale. La valeur de attachTo doit être un sélecteur CSS pointant vers l’élément parent où la région de routage sera injectée. Voici un exemple tiré des notes de développement :

<div
	data-wp-interactive="example"
	data-wp-router-region='{ "id": "example/region", "attachTo": "body" }'
>
	I'm in a new region!
</div>

synchronisation getServerState et getServerContext

Les fonctions getServerState() et getServerContext() ont été améliorées. Désormais, lorsque ces fonctions suivent une valeur qui ne change pas pendant la navigation côté client, les valeurs sont réinitialisées. En outre, seules les propriétés de la page actuelle sont conservées, tandis que celles des pages précédentes sont supprimées.

Pour un aperçu plus approfondi des améliorations apportées à l’API Interactivité avec des exemples de code, consultez Interactivity API’s client navigation improvements in WordPress 6.9 et Changes to the Interactivity API in WordPress 6.9.

Pour un aperçu complet de l’API Interactivité, reportez-vous à notre guide approfondi.

Mises à jour supplémentaires pour les développeurs

WordPress 6.9 introduit une variété de mises à jour pour les développeurs. Voici une liste rapide des notes de développement :

Perspectives d’avenir : de WordPress 6.9 à 7.0

WordPress 6.9 introduit des améliorations significatives dans l’éditeur de blocs, les API et les flux de travail collaboratifs, des mises à jour qui continueront d’évoluer dans la version 7.0. Comme la plateforme devient plus dynamique et plus profondément connectée aux outils pilotés par l’IA, il devient de plus en plus important d’awordpress 6.9voir un hébergement performant. Si vous vous préparez à la version 6.9 ou si vous planifiez ce qui va suivre, explorez les plans de Kinsta pour alimenter vos projets WordPress en toute confiance.

Carlo Daniele Kinsta

Carlo est un passionné de webdesign et de développement frontend. Il joue avec WordPress depuis plus de 10 ans, notamment en collaboration avec des universités et des établissements d'enseignement italiens et européens. Il a écrit des dizaines d'articles et de guides sur WordPress, publiés à la fois sur des sites web italiens et internationaux, ainsi que dans des magazines imprimés. Vous pouvez trouver Carlo sur X et LinkedIn.