Habilidades wp-abilities-api
🔌

wp-abilities-api

Seguro ⚙️ Comandos externos🌐 Acesso à rede

Travailler avec l'API Abilities de WordPress

L'API Abilities de WordPress permet un contrôle granulaire des fonctionnalités pour les clients. Cette compétence fournit des instructions étape par étape pour enregistrer des abilities en PHP, les exposer via des endpoints REST et les consommer en toute sécurité dans des applications JavaScript.

Suporta: Claude Codex Code(CC)
📊 71 Adequado
1

Baixar o ZIP da skill

2

Upload no Claude

Vá em Configurações → Capacidades → Skills → Upload skill

3

Ative e comece a usar

Testar

A utilizar "wp-abilities-api". Enregistrer une ability 'posts/export' qui permet aux utilisateurs d'exporter des articles en CSV. Elle devrait nécessiter la capability 'edit_posts' et apparaître dans REST.

Resultado esperado:

  • 1. Enregistrer d'abord la catégorie (si nécessaire) :
  • add_action('wp_abilities_api_categories_init', function() {
  • wp_register_ability_category('my-exporter', ['label' => __('Post Exporter', 'my-exporter')]);
  • });
  • 2. Enregistrer l'ability avec permission_callback :
  • add_action('wp_abilities_api_init', function() {
  • wp_register_ability('my-exporter/export-posts', [
  • 'label' => __('Export Posts to CSV', 'my-exporter'),
  • 'description' => __('Generates a CSV file of all published posts.', 'my-exporter'),
  • 'category' => 'my-exporter',
  • 'callback' => 'my_exporter_csv_callback',
  • 'permission_callback' => function() { return current_user_can('edit_posts'); },
  • 'meta' => ['show_in_rest' => true],
  • 'input_schema' => ['type' => 'object', 'properties' => ['status' => ['type' => 'string']]],
  • ]);
  • });

A utilizar "wp-abilities-api". Pourquoi mon ability n'apparaît-elle pas dans la réponse de l'API REST ?

Resultado esperado:

  • Vérifiez ces problèmes courants :
  • 1. Vérifiez que 'meta.show_in_rest' est défini sur true dans les arguments de wp_register_ability()
  • 2. Confirmez que l'enregistrement se fait sur le hook 'wp_abilities_api_init' (pas sur d'autres hooks)
  • 3. Assurez-vous que la catégorie a été enregistrée en premier sur 'wp_abilities_api_categories_init'
  • 4. Vérifiez que l'ID de l'ability correspond à ce que vous interrogez
  • 5. Effacez tout cache (cache d'objets, cache de pages) qui pourrait masquer les modifications
  • 6. Vérifiez l'URL de l'endpoint REST : /wp-json/wp-abilities/v1/abilities

Auditoria de Segurança

Seguro
v5 • 1/16/2026

This is a pure documentation skill containing only markdown files that provide guidance on WordPress Abilities API usage. No executable code, scripts, network calls, filesystem modifications, or external command execution exist. All 78 static findings are false positives caused by the scanner misidentifying PHP function syntax in documentation examples as shell commands and cryptographic patterns.

4
Arquivos analisados
383
Linhas analisadas
2
achados
5
Total de auditorias
Auditado por: claude Ver Histórico de Auditoria →

Pontuação de qualidade

41
Arquitetura
100
Manutenibilidade
87
Conteúdo
23
Comunidade
100
Segurança
91
Conformidade com especificações

O Que Você Pode Construir

Ajouter des Feature Flags

Enregistrer de nouvelles abilities pour les fonctionnalités de plugin et les exposer à la palette de commandes WordPress ou aux contrôles d'interface utilisateur.

Exposer les Capacités du Thème

Rendre les fonctionnalités spécifiques au thème disponibles pour les patterns de l'éditeur de blocs et les applications JavaScript côté client.

Tester l'API Abilities du Core

Implémenter ou déboguer l'utilisation de l'API Abilities dans le core WordPress, incluant la vérification des endpoints REST et les hooks d'enregistrement PHP.

Tente Estes Prompts

Enregistrer une Nouvelle Ability
Enregistrer une nouvelle ability appelée 'my-plugin/process-data' en PHP. Elle devrait apparaître dans la palette de commandes WordPress, accepter une entrée JSON avec les champs 'data' et 'format', et être accessible uniquement aux utilisateurs qui peuvent modifier des articles.
Déboguer la Visibilité REST
Mon ability est enregistrée mais n'apparaît pas lors de la requête /wp-json/wp-abilities/v1/abilities. Guidez-moi à travers la checklist de débogage pour identifier pourquoi elle est manquante.
Ajouter une Catégorie d'Ability
Créer une catégorie d'ability pour mon plugin e-commerce avec l'ID 'my-shop' et une localisation appropriée. Ensuite, enregistrer deux abilities dans cette catégorie pour gérer les produits et les commandes.
Consommer depuis JavaScript
Montrez-moi comment consommer une ability depuis JavaScript en utilisant @wordpress/abilities. Je dois vérifier si un utilisateur a une ability spécifique et l'exécuter avec des données d'entrée dans le contexte de l'éditeur de blocs.

Melhores Práticas

  • Préfixer les ID d'abilities avec votre préfixe de plugin/thème (par ex., 'my-plugin:feature.action') pour éviter les collisions avec d'autres plugins
  • Enregistrer les catégories avant les abilities en utilisant les hooks corrects (wp_abilities_api_categories_init, puis wp_abilities_api_init)
  • Inclure les définitions input_schema et output_schema pour activer la validation et aider les agents IA à comprendre les patterns d'utilisation

Evitar

  • Enregistrer des abilities en dehors du hook wp_abilities_api_init - cela déclenche _doing_it_wrong() et l'enregistrement échoue silencieusement
  • Modifier les ID d'abilities après la publication - traitez-les comme une API publique stable dont les modifications incompatibles affecteraient les consommateurs en aval
  • Omettre permission_callback pour les abilities qui modifient les données - vérifiez toujours les capabilities de l'utilisateur pour empêcher les actions non autorisées

Perguntas Frequentes

Quelles versions de WordPress supportent l'API Abilities ?
WordPress 6.9+ inclut l'API Abilities dans le core. Les versions antérieures nécessitent le package plugin Abilities API séparé.
Quelles permissions mon ability nécessite-t-elle ?
Définissez une fonction permission_callback qui retourne true ou false basée sur les vérifications current_user_can() pour votre capability requise.
Comment exposer les abilities aux clients REST ?
Définissez 'meta.show_in_rest' sur true lors de l'enregistrement de l'ability. L'ability apparaîtra à /wp-json/wp-abilities/v1/abilities.
Mes données sont-elles en sécurité lors de l'utilisation de cette compétence ?
Oui. Cette compétence fournit uniquement des conseils de documentation. Aucune exécution de code, accès aux fichiers ou appels réseau ne se produit sur votre système.
Pourquoi mon ability n'apparaît-elle pas dans REST ?
Les causes courantes incluent meta.show_in_rest manquant, enregistrement sur le mauvais hook, catégorie non enregistrée en premier, ou problèmes de cache.
En quoi est-ce différent des capabilities WordPress ?
L'API Abilities fournit des feature flags structurés et découvrables avec des schémas. Contrairement aux capabilities de base, elles supportent la validation d'entrée/sortie et l'exposition REST.

Detalhes do Desenvolvedor

Estrutura de arquivos