Abilities API

WordPress 🔴 Senior

Définition

Registre standardisé, introduit dans WordPress 6.9 « Gene » (2 décembre 2025), qui décrit des unités de fonctionnalité lisibles par machine : wp_register_ability() déclare label, description, input_schema, output_schema, exécuté_callback et permission_callback, sur le hook wp_abilities_api_init. Les abilities s'exposent en REST sous wp-abilities/v1. WordPress 7.0 ajoute un client côté navigateur et un client IA, 7.1 un cycle d'exécution filtrable.

Analogie

La carte d'un restaurant lisible par un robot : chaque plat, ses ingrédients et qui a le droit de le commander.

Exemple de code

add_action('wp_abilities_api_init', function () {
  wp_register_ability('my-plugin/get-post-count', [
    'label'       => __('Nombre d\'articles', 'my-plugin'),
    'description' => __('Retourne le total d\'articles publiés.'),
    'category'    => 'content-management',
    'execute_callback'    => fn() => wp_count_posts()->publish,
    'permission_callback' => fn() => current_user_can('read'),
    'meta' => ['show_in_rest' => true],
  ]);
});
// GET  /wp-json/wp-abilities/v1/abilities
// POST /wp-json/wp-abilities/v1/abilities/my-plugin/get-post-count/run

Cas d'usage

Exposer proprement les actions d'une extension aux agents IA, aux automatisations et aux autres extensions, avec schéma et permissions.

Anti-pattern

Appeler wp_register_ability() hors du hook wp_abilities_api_init : _doing_it_wrong() et l'enregistrement échoue.
#advanced#wordpress#wp69#ia

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre