Les outils d’intelligence artificielle (IA) comme ChatGPT, Claude et Cursor font tranquillement partie de la boîte à outils quotidienne des développeurs WordPress. Que vous construisiez des extensions personnalisées, que vous travailliez avec des blocs Gutenberg ou que vous automatisiez des tâches avec WP-CLI, l’IA peut vous aider à écrire, déboguer et remanier le code plus rapidement sans sacrifier la qualité.

Ce guide vous guide à travers sept façons pratiques dont les développeurs utilisent l’IA pour rationaliser les flux de travail réels de WordPress.

Entrons dans le vif du sujet.

1. Écrire et déboguer le code d’un plugin personnalisé

L’une des façons les plus évidentes (et les plus puissantes) d’utiliser l’IA en tant que développeur WordPress est d’écrire et de dépanner le code des extensions personnalisées.

Que vous construisiez quelque chose à partir de zéro ou que vous vous occupiez d’une ancienne extension d’un client qui envoie des erreurs fatales, des outils comme ChatGPT et Claude peuvent sérieusement accélérer votre flux de travail.

Construire un plugin boilerplate à partir de zéro

Vous pouvez utiliser l’IA pour structurer l’ensemble de la structure d’une extension, y compris l’en-tête, les crochets et l’organisation des fichiers. Au lieu de chercher la vielle extension que vous copiez-collez toujours, décrivez simplement ce que vous voulez.

Voici un exemple d’invite :

Create a WordPress plugin that registers a custom post type called "Event. "It should support title, editor, and thumbnail and have custom meta fields for date and location. Include code to register these meta fields using the REST API.

Claude ne se contente pas d’afficher le code brut. Il donne :

  • Un échafaudage complet d’extension, orienté objet et joliment structuré.
  • Des commentaires en ligne tout au long du code expliquant chaque partie.
  • Une indentation et un espacement corrects (on pourrait penser que c’est une évidence, mais ce n’est pas le cas avec tous les outils).
  • Des champs de méta prêts pour REST, enregistrés via register_post_meta().
  • Une interface d’administration avec une boîte de méta pour capturer la date et le lieu de l’évènement.
  • Et bien d’autres choses encore.
Sortie générée par Claude.
Sortie générée par Claude.

Débogage des erreurs de plugin

Si vous êtes confronté à un écran blanc ou à une erreur fatale provenant d’une extension de quelqu’un d’autre, l’IA peut vous aider à identifier rapidement le problème. ChatGPT (en particulier GPT-4) est capable d’expliquer les traces de pile et de repérer les appels de fonction manquants, les fautes de frappe ou les fonctions obsolètes.

Voici un exemple d’invite donnée à ChatGPT :

Here's an error I'm getting in a custom plugin: 
"Uncaught Error: Call to undefined function get_field() in /wp-content/plugins/my-plugin/plugin.php on line 42"
What's wrong and how can I fix it?

Et ChatGPT a réussi :

  • Il a correctement identifié que get_field() est une fonction Advanced Custom Fields (ACF).
  • Il a énuméré toutes les raisons courantes de cette erreur.
  • Il a même suggéré de meilleures pratiques, telles que l’intégration de la fonction dans un crochet, comme init ou wp, et la vérification de function_exists() avant de l’appeler.
Exemple de sortie générée par ChatGPT dans une interface conversationnelle.
Exemple de sortie générée par ChatGPT dans une interface conversationnelle.

Vous pouvez même coller des fichiers entiers d’extension dans des outils comme Cursor et lui demander d’auditer le code pour les meilleures pratiques de WordPress ou de réécrire ceci pour suivre les normes de codage modernes de PHP et de WP.

Modifier les fonctionnalités d’un plugin existant

Supposons que vous disposiez d’une extension qui fait 80 % de ce dont vous avez besoin, mais que les 20 % restants soient importants. Peut-être avez-vous besoin de modifier certaines sorties, d’intégrer un formulaire d’envoi ou de le rendre compatible avec plusieurs sites.

Au lieu de fouiller manuellement dans la base de code, vous pouvez utiliser des outils d’intelligence artificielle comme Cursor ou GitHub Copilot directement dans votre éditeur pour faire des changements plus rapides et plus sûrs. Par exemple, ce type d’invite pourrait vous aider :

This plugin creates a custom post type for “Testimonials” and displays them using a shortcode. Modify it to also output the testimonial author’s name in bold below the content. Here’s the shortcode output function:
[...paste function...]

Ou quelque chose comme :

Update this plugin so that it doesn’t run on multisite installations. If it is a multisite, show an admin notice and deactivate the plugin.

L’IA saura alors :

  • Localiser la fonction ou le crochet exact dans le fichier (même si vous n’en êtes pas sûr).
  • Suggérer le plus petit changement nécessaire, plutôt que de réécrire l’ensemble.
  • Garder la logique limitée à la structure de l’extension (surtout si vous utilisez Cursor et qu’il lit toute la base de code).
  • Si nécessaire, elle ajoutera des contrôles de sécurité, comme is_multisite() ou function_exists().

Elle peut même demander : « Voulez-vous que le nom de l’auteur soit optionnel ? Doit-il provenir de la méta de l’article ou d’un attribut du code court ? » – un bon signe qui montre qu’elle « pense » en termes de développeur.

2. Créer des blocs Gutenberg personnalisés

Le développement de blocs Gutenberg peut être pénible, en particulier si vous n’êtes pas un spécialiste de React. Il est facile de s’enliser entre la configuration de Webpack, l’enregistrement des blocs et la logique de rendu. C’est là que les outils d’IA peuvent réduire la friction du processus.

Générer un bloc personnalisé à partir de zéro

J’ai demandé à Claude de créer un bloc Gutenberg personnalisé appelé Testimonial Block, avec la prise en charge d’une citation, d’un nom d’auteur et d’une image d’auteur :

Create a Gutenberg block called "Testimonial Block". It should have fields for a quote, author name, and author image. Show a preview in the editor and render it on the frontend using PHP. Output the block with basic markup and class names so I can style it later.

Claude a réussi la structure. Au lieu de tout déverser dans un seul blob, il a divisé l’extension en parties claires :

  • Fichier plugin PHP (testimonial-block.php) – enregistre le bloc en utilisant register_block_type().
  • Fichier JS (block.js) – met en place l’interface utilisateur du bloc en utilisant TextControl, MediaUpload, useBlockProps, etc.
  • Fichiers CSS (editor.css et style.css) – styles définis pour l’éditeur et le frontend

Il explique également où enregistrer chaque fichier et comment structurer le dossier à l’intérieur de /wp-content/plugins/, ce qui facilite les tests immédiats.

Interface de Claude montrant la séparation entre le code et les sections de fichiers.
Interface de Claude montrant la séparation entre le code et les sections de fichiers.

Si vous travaillez avec des blocs natifs et que vous n’avez pas envie de configurer @wordpress/scripts en partant de zéro à chaque fois, ce type d’assistance IA vous permet de faire 80 % du chemin. Vous pouvez toujours personnaliser le balisage ou la structure des champs ultérieurement.

Si vous souhaitez modifier la mise en page, il vous suffit de dire à Claude : « Faire apparaître l’image de l’auteur au-dessus de la citation plutôt qu’à côté » ou « Remplacer le MediaUpload par une entrée d’URL d’image externe »

Modifier des blocs existants

Comme lorsque vous générez un bloc à partir de zéro, vous pouvez également utiliser Claude ou ChatGPT pour modifier des blocs Gutenberg existants, ce qui est particulièrement utile lorsque vous travaillez sur un projet que quelqu’un d’autre a commencé ou que vous revisitez un bloc que vous avez écrit il y a plusieurs mois.

Par exemple, disons que vous avez un bloc avec une simple entrée de texte et que vous voulez ajouter une bascule pour contrôler si la sortie doit être mise en évidence ou non. Au lieu de fouiller manuellement dans edit() et save() ou dans le PHP render_callback, vous pouvez simplement donner à AI la partie pertinente du bloc et lui demander :

Here’s the edit() function for my Gutenberg block. Add a ToggleControl labeled "Highlight" that adds a CSS class "highlighted" to the block wrapper if it's turned on:
[...paste function...]

Il est également assez intelligent pour suivre le style de votre code existant. Ainsi, si votre bloc utilise useBlockProps(), il le conserve ; s’il rend des balises div brutes, il s’en accommode au lieu d’essayer de réécrire votre mise en page.

3. Créer des commandes WP-CLI pour l’automatisation

En tant que développeur WordPress, WP-CLI est l’un de ces outils qui vous permet de vous mettre à niveau. Il vous permet de scripter WordPress comme une véritable application au lieu de cliquer sur le panneau d’administration ou d’écrire des pages d’administration temporaires juste pour effectuer une action groupée.

L’IA supprime tous les frais généraux, vous n’avez donc plus besoin de fouiller dans la documentation de WP-CLI, de deviner le format de la classe, de copier un vieux code provenant d’un autre projet, et de le peaufiner pendant 30 minutes.

Disons que vous voulez publier tous les articles de façon groupée avec une clé méta spécifique. Vous pouvez utiliser l’invite suivante :

Write a custom WP-CLI command called `publish_scheduled_events` that loops through all posts of type "event" where the custom meta key "event_date" is in the past and publishes them.

L’IA vous renverra une classe avec WP_CLI::add_command() correctement enregistré ainsi qu’une méthode qui utilise WP_Query avec un filtre meta_query, et bien d’autres choses encore. La plupart du temps, le code est prêt pour la production, à l’exception de la comparaison des valeurs des clés méta, que vous pouvez demander dans le cadre d’un suivi.

Vous pouvez également demander des commandes WP-CLI pour gérer des tâches telles que :

  • Effacer les transients
  • Réenregistrer les permaliens
  • Régénérer la taille des images
  • Synchroniser les options entre les environnements
  • Exécution de tâches d’importation personnalisées selon un calendrier

Par exemple, vous voyez l’invite suivante :

Write a WP-CLI command that deletes all expired transients in the wp_options table and logs how many were deleted.

Aussi, si vous écrivez déjà des commandes WP-CLI mais que quelque chose ne va pas (peut-être qu’il ne reconnaît pas les arguments ou que vous obtenez des résultats bizarres), collez simplement le code et demandez :

This WP-CLI command isn’t parsing the --user_id argument correctly. What’s wrong?

4. Optimiser les requêtes SQL dans les requêtes WP ou le code des bases de données personnalisées

Les développeurs WordPress ont souvent affaire à des requêtes qui semblent correctes jusqu’à ce qu’elles soient exécutées sur un site réel avec des milliers d’articles et une table wp_postmeta surchargée. C’est à ce moment-là que les performances chutent et que les choses se gâtent.

La bonne nouvelle est que des outils comme ChatGPT, Claude, et même Cursor (lorsqu’il travaille dans une base de code complète) peuvent examiner votre configuration SQL ou WP_Query et signaler les modèles inefficaces, ou vous aider à remanier entièrement les requêtes.

Repérer les goulots d’étranglement dans la configuration de WP_Query

Disons que vous avez écrit une page WP_Query complexe pour afficher les événements à venir avec des champs méta personnalisés, et qu’elle se charge lentement. Vous pouvez demander :

Here’s a WP_Query for events sorted by a custom meta field "event_date". It’s slow when there are lots of events. How can I optimize it?
[...paste the WP_Query args...]

Et l’IA pourrait répondre par :

  • Un rappel que meta_query n’est pas indexé, de sorte que l’interrogation de grands ensembles de données sera toujours coûteuse.
  • Une suggestion pour éviter d’utiliser orderby => 'meta_value' si possible.
  • Le conseil de stocker une date normalisée dans une colonne personnalisée de la base de données ou dans une taxonomie pour de meilleures performances.
  • Il peut même être suggéré de réécrire la logique afin d’utiliser les crochets de pre_query pour modifier directement le code SQL.

Analyser et remanier le code SQL brut

Parfois, vous contournez complètement WP_Query – peut-être pour les rapports, les analyses ou la logique des extensions. Vous avez écrit une requête brute SELECT qui joint wp_posts et wp_postmeta, mais elle est lente ou renvoie des résultats en double.

Vous pouvez utiliser une invite comme :

This SQL query is slow. Can you help me optimize it?
SELECT p.ID, p.post_title, m.meta_value 
FROM wp_posts p 
JOIN wp_postmeta m ON p.ID = m.post_id 
WHERE m.meta_key = 'event_date' 
AND m.meta_value >= CURDATE() 
AND p.post_type = 'event' 
AND p.post_status = 'publish'

Expliquer ce que fait réellement une requête

Si l’on vous remet une ancienne extension ou un code de thème qui exécute une grosse requête SQL (et que personne ne sait ce qu’il fait), vous pouvez le déposer dans ChatGPT ou Claude et demander :

Explain what this WordPress SQL query is doing and tell me if it could be made more efficient:
[...query...]

L’IA vous guidera :

  • Quelles tables sont jointes et pourquoi.
  • Ce que chaque clause WHERE filtre.
  • Si une partie de la requête est redondante.
  • Si les clauses LIMIT, ORDER BY ou GROUP BY posent un problème.

Elle vous expliquera même les mauvaises choses comme SELECT *, les jointures cartésiennes ou les expressions rationnelles inefficaces dans les clauses LIKE.

5. Générer des tests d’unité/intégration (PHPUnit) pour les plugins

Ecrire des tests pour le code WordPress n’est pas toujours simple. Démarrer l’environnement de test de WP, simuler les fonctions de base, et déterminer ce qui doit être testé peut être une tâche ardue.

Les outils d’intelligence artificielle sont bons pour écrire des cas de test, surtout si vous leur donnez une fonction ou une classe et que vous leur demandez de tester un comportement spécifique.

Supposons que vous ayez écrit une fonction qui crée un message personnalisé et enregistre certaines métadonnées associées. Vous voulez tester qu’elle :

  • Crée l’article.
  • Attribue le bon type de publication.
  • Enregistre correctement les champs méta.

L’invite suivante peut fonctionner :

Write PHPUnit tests for this function. It creates a custom post type "Event" and saves meta fields "event_date" and "event_location":
[...paste function...]

Si vous avez une extension qui enregistre les réglages via admin-post.php, vous pouvez également le tester. Il vous suffit d’envoyer la fonction de traitement de formulaire à l’IA et de demander :

Write PHPUnit tests for this function that handles plugin settings form submissions. It saves an option based on POST data and checks a nonce.

Si votre extension enregistre des routes d’API REST personnalisées, les tester manuellement est lent et source d’erreurs. Les outils d’IA peuvent également vous aider à élaborer des tests qui utilisent directement wp_remote_get() ou rest_do_request():

Write a PHPUnit test that sends a GET request to my custom REST route `/wp-json/my-plugin/v1/data` and checks for a 200 response and valid JSON output.

Même les tests de base permettent de détecter rapidement les problèmes. Lorsque l’IA s’occupe de la routine, vous pouvez vous concentrer sur le test de la logique, et non sur la configuration. Vous n’avez pas besoin de devenir un puriste du TDD – demandez simplement : « Que dois-je tester dans cette fonction ? » … et vous obtiendrez des idées que vous aviez probablement négligées. Le test devient ainsi moins une corvée et plus une extension du développement.

6. Refonte ou traduction d’un ancien code

Si vous travaillez avec WordPress depuis plus de quelques années, vous avez probablement touché à du code jQuery lourd – des scripts en ligne, des variables globales partout, des problèmes de timing bizarres, peut-être même $(document).ready() enterré dans des fichiers PHP.

Le problème est que WordPress a évolué. Gutenberg utilise React, les thèmes sont basés sur des blocs, et même les interfaces d’administration bénéficient de JS modernes. Refaire ce jQuery en JavaScript propre et modulaire (ou même React lorsque cela a du sens) peut être pénible – à moins que vous n’utilisiez l’IA pour l’accélérer.

Disons que vous avez un code de la vieille école comme celui-ci :

jQuery(document).ready(function($) {
  $('#open-modal').on('click', function() {
    $('#my-modal').fadeIn();
  });

  $('.close-modal').on('click', function() {
    $('#my-modal').fadeOut();
  });
});

Et vous voulez le convertir en JS moderne, sans dépendance. Vous n’avez qu’à demander :

Convert this jQuery code to modern vanilla JavaScript using addEventListener and class toggling instead of fadeIn/fadeOut:
[...paste code...]

Claude ou ChatGPT vous répondront :

document.addEventListener('DOMContentLoaded', function() {
  document.getElementById('open-modal').addEventListener('click', function() {
    document.getElementById('my-modal').classList.add('visible');
  });

  document.querySelectorAll('.close-modal').forEach(function(btn) {
    btn.addEventListener('click', function() {
      document.getElementById('my-modal').classList.remove('visible');
    });
  });
});

Elle vous recommandera généralement d’ajouter des styles comme :

#my-modal {
  display: none;
}
#my-modal.visible {
  display: block;
}

Le code est ainsi plus facile à maintenir, se charge plus rapidement et ne nécessite pas l’utilisation de jQuery sur le frontend.

De plus, disons que vous construisez ou mettez à jour un bloc Gutenberg, et que votre ancien JS utilise jQuery pour injecter des balises de manière dynamique. Vous voulez que cette logique soit déplacée dans React pour qu’elle puisse vivre correctement dans edit().

L’invite suivante fonctionnerait :

Translate this jQuery code that appends a div with post data into a React component for a Gutenberg block:
[...paste jQuery code...]

Si votre code utilise des API WordPress comme wp.apiFetch, l’IA sait comment les intégrer également – en suggérant souvent de meilleurs modèles asynchrones ou en gérant les erreurs de manière plus gracieuse que le code existant.

Enfin, disons que vous avez affaire à une extension qui contient 300 lignes de JavaScript procédural déversées dans une balise <script>. L’IA peut vous aider à le diviser en parties logiques à l’aide d’une invite telle que :

Break this JavaScript into reusable functions and separate concerns. Put DOM setup, event handlers, and data logic into their own functions:
[...paste code...]

7. Faciliter l’hébergement et les DevOps

Le développement de WordPress ne s’arrête pas à l’écriture du code – il comprend tout, du déploiement aux mises à jour, aux performances et à la configuration de l’hébergement. Si vous gérez vos sites sur une plateforme comme Kinsta, les outils d’IA peuvent vous aider à aller plus vite et à faire moins d’erreurs dans cette couche d’exploitation.

Par exemple, si vous obtenez une erreur énigmatique des journaux d’erreurs PHP de Kinsta ou de l’outil APM, vous pouvez la coller dans ChatGPT et la demander :

This error came from Kinsta’s PHP logs. Can you explain what it means and how to fix it?

Cela vous aidera à décoder les erreurs fatales, les problèmes de mémoire ou les conflits d’extensions plus rapidement qu’en passant au peigne fin la documentation ou Stack Overflow.

Si une partie de la documentation de Kinsta, du README d’un plugin ou d’une règle de .htaccess n’a pas de sens, déposez-la dans Claude et dites :

Explain this part to me like I’m a developer but unfamiliar with server config.

Les outils d’IA peuvent également vous aider à générer ou réviser des flux de travail CI/CD basés sur Git, tels que GitHub Actions, GitLab CI, ou Bitbucket Pipelines qui déploient des thèmes, synchronisent des fichiers, ou exécutent des migrations de base de données via SSH sur Kinsta. Vous n’avez qu’à demander :

Write a GitHub Actions workflow that deploys my WordPress theme to a Kinsta server over SSH after pushing to the main branch.

En bref, l’IA devient une couche entre vous et les parties de l’hébergement ou du DevOps qui prennent du temps ou qui ne sont pas claires – qu’il s’agisse de lire des journaux, de scripter des déploiements ou de comprendre la documentation.

Cela dit, la gestion des problèmes d’hébergement tels que les problèmes de performance, les erreurs et la configuration du serveur nécessite toujours une véritable expertise. Si quelque chose se casse, cela peut être frustrant, prendre du temps et coûter cher à votre entreprise. C’est pourquoi Kinsta soutient sa plateforme avec un support 24/7 en 10 langues par des ingénieurs experts prêts à vous aider à dépanner, expliquer et résoudre les problèmes de serveur WordPress d’une manière amicale et humaine.

Résumé

L’IA n’est pas là pour remplacer les développeurs WordPress – elle est là pour nous rendre plus rapides, notre code plus propre et moins sujet à des erreurs ennuyeuses.

La clé est de traiter l’IA comme un développeur junior – pas comme une baguette magique. N’attendez pas d’elle qu’elle fasse tout en une seule fois. Divisez le travail en étapes, examinez ce qu’elle vous donne et construisez couche par couche. C’est ainsi que vous garderez le contrôle tout en bénéficiant de tous les avantages que l’IA peut vous offrir en termes de rapidité.

Que vous écriviez des extensions personnalisées, que vous optimisiez les performances ou que vous déployiez des sites à grande échelle, Kinsta vous offre la vitesse, les outils et l’assistance d’experts dont vous avez besoin.

Joel Olawanle Kinsta

Joel est un développeur d'interfaces publiques qui travaille chez Kinsta en tant que rédacteur technique. Il est un enseignant passionné par l'open source et a écrit plus de 200 articles techniques, principalement autour de JavaScript et de ses frameworks.