Las herramientas de Inteligencia Artificial (IA) como ChatGPT, Claude y Cursor se están convirtiendo poco a poco en parte del conjunto de herramientas diarias de los desarrolladores de WordPress. Tanto si estás creando plugins personalizados, trabajando con bloques de Gutenberg o automatizando tareas con WP-CLI, la IA puede ayudarte a escribir, depurar y refactorizar código más rápido sin sacrificar la calidad.

Esta guía te muestra siete formas prácticas en que los desarrolladores utilizan la IA para agilizar los flujos de trabajo reales de WordPress.

Vamos a entrar en ellas.

1. Escribir y depurar código de plugins personalizados

Una de las formas más obvias (y potentes) de utilizar la IA como desarrollador de WordPress es escribir y solucionar problemas de código de plugins personalizados.

Tanto si estás creando algo desde cero como si tienes que lidiar con un plugin heredado de un cliente que lanza errores fatales, herramientas como ChatGPT y Claude pueden acelerar seriamente tu flujo de trabajo.

Construir un plugin desde cero

Puedes utilizar la IA para crear la estructura completa de un plugin, incluyendo la cabecera, los hooks y la organización de archivos. En lugar de recurrir a ese plugin antiguo del que siempre copias y pegas, simplemente describe lo que quieres.

Aquí tienes un ejemplo:

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 no simplemente arroja código sin procesar. Ofrece:

  • Una estructura completa de plugin, basada en programación orientada a objetos y con una organización bien definida.
  • Comentarios inline en todo el código explicando cada parte.
  • Sangría y espaciado adecuados (se podría pensar que es algo obvio, pero no lo es con todas las herramientas).
  • Campos meta listos para REST registrados a través de register_post_meta().
  • Una interfaz de usuario de administración con un cuadro meta para capturar la fecha y la ubicación del evento.
  • Y muchas cosas más.
Ejemplo de salida generada por Claude en una interfaz conversacional.
Salida generada por Claude.

Depuración de errores de plugins

Si estás mirando una pantalla en blanco o un error fatal del plugin de otra persona, la IA puede ayudarte a identificar el problema rápidamente. ChatGPT (especialmente GPT-4) es eficaz para explicar la stack trace y detectar llamadas a funciones que faltan, errores tipográficos o funciones obsoletas.

Aquí tienes un ejemplo de mensaje enviado a 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?

Y ChatGPT lo ha clavado:

  • Identificó correctamente que get_field() es una función de Campos personalizados avanzados (ACF).
  • Enumeró todas las razones habituales de este error.
  • Incluso sugería buenas prácticas, como envolver la función en un hook, como init o wp, y comprobar function_exists() antes de llamarla.
Salida generada por ChatGPT.
Ejemplo de salida generada por ChatGPT en una interfaz conversacional.

Incluso puedes pegar archivos enteros de plugins en herramientas como Cursor y pedirle que «audite el código según las mejores prácticas de WordPress» o «reescriba esto para seguir los estándares modernos de programación de PHP y WP»

Modificar la funcionalidad de un plugin existente

Supongamos que tienes un plugin que hace el 80% de lo que necesitas, pero ese último 20% es importante. Tal vez necesites modificar algún resultado, hacer un hook en el envío de un formulario o hacerlo compatible con varios sitios.

En lugar de rebuscar manualmente en la base de código, puedes utilizar herramientas de IA como Cursor o GitHub Copilot directamente en tu editor para hacer cambios de forma más rápida y segura. Por ejemplo, este tipo de prompt podría ayudarte:

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...]

O algo parecido:

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.

Entonces la IA:

  • Localiza la función o hook exacto en el archivo (aunque no estés seguro).
  • Sugiere el menor cambio necesario, en lugar de reescribirlo todo.
  • Mantiene la lógica circunscrita a la estructura del plugin (especialmente si utilizas Cursor y está leyendo toda la base de código).
  • Si es necesario, añadirá comprobaciones de seguridad, como is_multisite() o function_exists().

Incluso puede preguntar: «¿Quieres que el nombre del autor sea opcional? ¿Debería venir de la meta de la entrada o de un atributo del shortcode?» — una buena señal de que está «pensando» en términos de desarrollador.

2. Crear bloques Gutenberg personalizados

El desarrollo de bloques de Gutenberg puede ser un engorro, especialmente si no estás muy metido en React. Es fácil atascarse entre la configuración de Webpack, el registro de bloques y la lógica de renderización. Aquí es donde las herramientas de IA pueden reducir la fricción del proceso.

Generar un bloque personalizado desde cero

Le pedí a Claude que creara un bloque Gutenberg personalizado llamado Testimonial Block, que soportara una cita, el nombre de autor y una imagen de autor:

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 clavó la estructura. En lugar de volcarlo todo en un único blob, dividió el plugin en partes claras:

  • Archivo PHP del plugin (testimonial-block.php) — registra el bloque utilizando register_block_type().
  • Archivo JS (block.js) — configura la IU del bloque usando TextControl, MediaUpload, useBlockProps, etc.
  • Archivos CSS (editor.css y style.css) — estilos para el editor y el frontend

También te indicaba dónde guardar cada archivo y cómo estructurar la carpeta dentro de /wp-content/plugins/, facilitando la prueba inmediata.

Interfaz de Claude que muestra la separación entre las secciones de código y archivo.
Interfaz de Claude que muestra la separación entre las secciones de código y archivos.

Si trabajas con bloques nativos y no te apetece configurar @wordpress/scripts desde cero en cada ocasión, este tipo de ayuda de IA te facilita el 80% del camino. Siempre puedes personalizar el marcado o la estructura de los campos más adelante.

Si quieres cambiar el diseño, sólo tienes que decirle a Claude: «Haz que la imagen del autor aparezca encima de la cita en lugar de al lado», o «Sustituye la entrada MediaUpload por una URL de imagen externa»

Modificar bloques existentes

Al igual que cuando generas un bloque desde cero, también puedes utilizar Claude o ChatGPT para modificar bloques existentes de Gutenberg, lo que resulta especialmente útil cuando estás trabajando en un proyecto que empezó otra persona o revisando un bloque que escribiste hace meses.

Por ejemplo, supongamos que tienes un bloque con una simple entrada de texto y quieres añadir un conmutador para controlar si la salida debe resaltarse o no. En lugar de rebuscar manualmente en edit() y save() o en el PHP render_callback, puedes simplemente darle a AI la parte relevante del bloque y preguntar:

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...]

También es lo suficientemente inteligente como para seguir tu estilo de código existente. Así, si tu bloque utiliza useBlockProps(), lo mantiene; si está mostrando el marcado div sin procesar, se adapta a él en lugar de intentar reescribir tu diseño.

3. Crear comandos WP-CLI para la automatización

Como desarrollador de WordPress, WP-CLI es una de esas herramientas «para subir de nivel». Te permite programar WordPress como una aplicación de verdad, en lugar de hacer clic en el panel de administración o escribir páginas de administración temporales sólo para realizar una acción en lote.

La IA elimina toda la sobrecarga, así que ya no tienes que rebuscar en los documentos de WP-CLI, adivinar el formato de las clases, copiar código antiguo de otro proyecto y retocarlo durante 30 minutos.

Supongamos que quieres publicar todas las entradas en bloque con una meta clave específica. Puedes utilizar el siguiente prompt:

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.

La IA te devolverá una clase con WP_CLI::add_command() registrada correctamente junto a un método que utiliza WP_Query con un filtro meta_query, y mucho más. La mayoría de las veces, el código está listo para producción, excepto el ajuste de comparación del valor de la meta key, que puedes solicitar en un seguimiento.

También puedes pedir comandos WP-CLI para realizar tareas como:

  • Borrar transitorios
  • Volver a guardar los enlaces permanentes
  • Regenerar el tamaño de las imágenes
  • Sincronizar opciones entre entornos
  • Ejecutar trabajos de importación personalizados de forma programada

Por ejemplo, mira el siguiente mensaje:

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

Además, si ya estás escribiendo comandos WP-CLI pero algo falla (quizá no reconoce argumentos o recibes una salida extraña), sólo tienes que pegar el código y preguntar:

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

4. Optimizar las consultas SQL en las consultas de WP o en el código personalizado de la base de datos

Los desarrolladores de WordPress suelen tratar con consultas que parecen estar bien hasta que empiezan a ejecutarse en un sitio real con miles de entradas y una tabla wp_postmeta hinchada. Es entonces cuando baja el rendimiento, y las cosas se ponen feas rápidamente.

La buena noticia es que herramientas como ChatGPT, Claude e incluso Cursor (cuando trabajan en una base de código completa) pueden revisar tu configuración SQL o WP_Query y señalar patrones ineficientes, o ayudarte a refactorizar consultas por completo.

Detectar cuellos de botella en la configuración de WP_Query

Supongamos que has escrito una consulta compleja con WP_Query para mostrar los próximos eventos con metacampos personalizados, y que se carga lentamente. Puedes preguntar:

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...]

Y la IA podría responder con:

  • Un recordatorio de que meta_query no está indexado, por lo que consultar grandes conjuntos de datos siempre será costoso.
  • Una sugerencia para evitar el uso de orderby => 'meta_value' si es posible.
  • Un consejo para almacenar una fecha normalizada en una columna personalizada de la BD o en una taxonomía para mejorar el rendimiento.
  • Incluso puede sugerir reescribir la lógica para utilizar los hooks pre_query para alterar el SQL directamente.

Analizar y refactorizar el SQL sin procesar

A veces decides omitir por completo WP_Query — quizás para informes, análisis o lógica de plugins. Has escrito una consulta sin procesar SELECT que une wp_posts y wp_postmeta, pero es lenta o devuelve resultados duplicados.

Puedes utilizar una consulta como

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'

Explica lo que hace realmente una consulta

Si te entregan algún plugin o código de tema antiguo que ejecuta una gran consulta SQL (y nadie sabe lo que hace), puedes soltarlo en ChatGPT o Claude y preguntar:

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

La IA te guiará a través de:

  • Qué tablas se están uniendo y por qué.
  • Qué filtra cada cláusula WHERE.
  • Si alguna parte de la consulta es redundante.
  • Si la cláusula LIMIT, ORDER BY, o GROUP BY es un problema.

Incluso te explicará cosas malas como SELECT *, uniones cartesianas o regex ineficiente en las cláusulas LIKE.

5. Generar pruebas unitarias/de integración (PHPUnit) para plugins

Escribir pruebas para el código de WordPress no siempre es sencillo. Crear el entorno de pruebas de WP, imitar las funciones principales y averiguar qué es lo que hay que probar puede resultar complicado.

Las herramientas de IA son buenas para escribir casos de prueba, especialmente si les das una función o clase y les pides que comprueben un comportamiento específico.

Digamos que has escrito una función que crea una entrada personalizada y guarda algunos metadatos asociados. Quieres probar que

  • Crea la entrada correctamente.
  • Asigna el tipo de entrada correcto.
  • Guarda correctamente los metadatos.

El siguiente mensaje puede funcionar:

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 tienes un plugin que guarda la configuración a través de admin-post.php, también puedes probarlo. Sólo tienes que introducir la función encargada de manejar el formularios a la IA y preguntar:

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 tu plugin registra rutas REST API personalizadas, probarlas manualmente es lento y propenso a errores. Las herramientas de IA también pueden ayudarte a crear pruebas que utilicen wp_remote_get() o rest_do_request() directamente:

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.

Incluso las pruebas básicas detectan los problemas con antelación. Cuando la IA se encarga de la repetición de tareas, puedes centrarte en probar la lógica, no en juguetear con la configuración. No tienes que convertirte en un purista del TDD — simplemente pregúntate: «¿Qué debo probar en esta función?» … y obtendrás ideas que probablemente habías pasado por alto. Hace que las pruebas sean menos una tarea y más una extensión del desarrollo.

6. Refactorizar o traducir código antiguo

Si llevas trabajando con WordPress desde hace varios años, es probable que hayas tocado código jQuery pesado — scripts inline, variables globales por todas partes, problemas de sincronización extraños, tal vez incluso $(document).ready() enterrado en archivos PHP.

El problema es que WordPress ha avanzado. Gutenberg utiliza React, los temas se basan en bloques, e incluso las interfaces de administración se benefician de JS moderno. Refactorizar ese jQuery en un JavaScript limpio y modular (o incluso React donde tenga sentido) puede ser doloroso, a menos que utilices IA para acelerarlo.

Digamos que tienes un código de la vieja escuela como este:

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

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

Y quieres convertirlo en JS moderno y sin dependencias. Sólo tienes que pedirlo:

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

Claude o ChatGPT te devolverán:

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');
    });
  });
});

Normalmente te recomendará añadir estilos como:

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

Esto hace que el código sea más fácil de mantener, se carga más rápido y no requiere jQuery en el frontend.

Además, supongamos que estás construyendo o actualizando un bloque de Gutenberg, y tu antiguo JS utiliza jQuery para inyectar marcas dinámicamente. Quieres trasladar esa lógica a React para que pueda funcionar correctamente dentro de edit().

El siguiente prompt funcionaría:

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

Si tu código utiliza APIs de WordPress como wp.apiFetch, la IA también sabe cómo integrarlas, a menudo sugiriendo mejores patrones asíncronos o gestionando los errores de forma más eficaz que el código heredado.

Por último, imaginemos que te enfrentas a un plugin que contiene 300 líneas de JavaScript procedimental volcadas en una etiqueta <script>. La IA puede ayudarte a dividirlo en partes lógicas utilizando un prompt como:

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

7. Facilitar el alojamiento y DevOps

El desarrollo de WordPress no se limita a escribir código — incluye todo, desde el despliegue hasta las actualizaciones, el rendimiento y la configuración del alojamiento. Si gestionas tus sitios en una plataforma como Kinsta, las herramientas de IA pueden ayudarte a avanzar más rápido y a cometer menos errores también en esa capa de operaciones.

Por ejemplo, si obtienes un error críptico de los registros de errores PHP de Kinsta o de la herramienta APM, puedes pegarlo en ChatGPT y preguntar:

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

Te ayudará a descifrar errores fatales, problemas de memoria o conflictos de plugins más rápido que buscar en la documentación o en Stack Overflow.

Si un fragmento de la documentación de Kinsta, el LÉEME de un plugin o alguna regla de .htaccess no tiene sentido, sólo tienes que soltarlo en Claude y decir:

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

Las herramientas de IA también pueden ayudarte a generar o revisar flujos de trabajo CI/CD basados en Git, como GitHub Actions, GitLab CI o Bitbucket Pipelines, que despliegan temas, sincronizan archivos o ejecutan migraciones de bases de datos a través de SSH en Kinsta. Sólo pide:

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

En resumen, la IA se convierte en una capa entre y las partes del alojamiento o DevOps que consumen tiempo o no están claras — ya sea leer registros, programar despliegues o comprender la documentación.

Dicho esto, la gestión de problemas de alojamiento, como problemas de rendimiento, errores y configuración del servidor, sigue requiriendo experiencia real. Si algo se rompe, puede ser frustrante, urgente y costoso para tu negocio. Por eso Kinsta respalda su plataforma con soporte 24 horas al día, 7 días a la semana, 365 días al año, en 10 idiomas, a cargo de ingenieros expertos dispuestos a ayudarte a solucionar, explicar y resolver los problemas del servidor de WordPress de una forma amable y humana.

Resumen

La IA no está aquí para sustituir a los desarrolladores de WordPress — está aquí para hacernos más rápidos, nuestro código más limpio y menos propenso a cometer errores aburridos.

La clave es tratar a la IA como a un desarrollador junior — no como a una varita mágica. No esperes que lo solucione todo de una sola vez. Divide el trabajo en pasos, revisa lo que te da y construye capa por capa. Así mantendrás el control y obtendrás todas las ventajas de velocidad que ofrece la IA.

Tanto si estás escribiendo plugins personalizados, optimizando el rendimiento o desplegando sitios a gran escala, Kinsta te proporciona la velocidad, las herramientas y el soporte experto que necesitas.

Joel Olawanle Kinsta

Joel es un desarrollador Frontend que trabaja en Kinsta como Editor Técnico. Es un formador apasionado enamorado del código abierto y ha escrito más de 200 artículos técnicos, principalmente sobre JavaScript y sus frameworks.