🚀 Automatiza tus tareas de WordPress con la nueva versión Gato GraphQL v2.1
¡Nos complace anunciar que Gato GraphQL v2.1 ya ha sido publicado!
Con esta nueva versión y las extensiones PRO, puedes hacer GraphQL como automatizador, aprovechando las consultas persistidas de GraphQL para automatizar tareas relacionadas con datos en tu sitio WordPress.
A continuación se detallan todos los cambios añadidos a v2.1 (hay una versión más breve disponible en las notas de lanzamiento de GitHub).
Soporte para proporcionar la configuración de esquema a aplicar al invocar el servidor GraphQL interno
Ahora podemos especificar qué configuración de esquema aplicar al ejecutar una consulta mediante un servidor GraphQL interno (es decir, directamente dentro de la aplicación PHP, no a través de un endpoint).
Esta nueva característica mejora la extensión Internal GraphQL Server: ahora acepta un parámetro $schemaConfigurationIDOrSlug en los métodos executeQuery y executeQueryInFile de la clase GraphQLServer, y ya extrae la configuración de esquema usada por la consulta persistida en executePersistedQuery:
class GraphQLServer {
public static function executeQuery(
string $query,
array $variables = [],
?string $operationName = null,
+ // Accept parameter
+ int|string|null $schemaConfigurationIDOrSlug = null,
): Response {
// ...
}
public static function executeQueryInFile(
string $file,
array $variables = [],
?string $operationName = null,
+ // Accept parameter
+ int|string|null $schemaConfigurationIDOrSlug = null,
): Response {
// ...
}
public static function executePersistedQuery(
WP_Post|string|int $persistedQuery,
array $variables = [],
?string $operationName = null,
+ // Schema Configuration is taken directly from the Persisted Query
): Response {
// ...
}GraphQL como automatizador [PRO]
La funcionalidad anterior también proporciona la base para mejorar la extensión Automatización.
La extensión Automation ahora ofrece una interfaz de usuario tipo "automatizador" (directamente a través del editor de WordPress) llamada Configurador de Automatización. El disparador de la automatización es cualquier action hook de WordPress, y la acción es la ejecución de una consulta persistida de GraphQL.

Por ejemplo, al crear una nueva entrada, la regla de automatización Add comments block to new post (que ejecuta la consulta persistida con el mismo nombre) comprueba si el bloque core/comments está presente y, si no, lo añade al final de la entrada:

Estas son algunas formas en las que puedes usar el automatizador:
- Crear (y optimizar) una imagen destacada para nuevas entradas usando IA
- Añadir un bloque obligatorio a la entrada al publicarla
- Reemplazar
httpporhttpsen todas las fuentes de imágenes y enlaces cuando se actualice una entrada - Enviar un correo al administrador cuando haya una nueva entrada
- Enviar un correo al usuario cuyo comentario tenga una nueva respuesta
- [Multisitio] Traducir una nueva entrada a distintos idiomas y añadir las entradas traducidas a cada sitio
- Ejecutar una acción en un servicio externo (p. ej.: compartir automáticamente las nuevas entradas en Facebook)
Como puedes componer las consultas persistidas de GraphQL y las reglas de automatización directamente dentro del wp-admin, en muy poco tiempo puedes crear un pipeline de automatización súper personalizado, adaptado a tus necesidades.
Y como no hay restricciones en las entradas (la consulta GraphQL puede interactuar con todos los datos de WordPress y conectarse a cualquier servicio externo mediante un cliente HTTP), deberías poder cubrir el 100 % de tus requisitos.
(Los plugins de tipo automatizador suelen cubrir el 95 % de nuestras necesidades, ya que a menudo nos encontramos con que alguna entrada que necesitamos no ha sido mapeada.)
El plugin ya crea varias reglas de automatización (con estado draft, por lo que deben actualizarse a publish para que tengan efecto). Ya puedes usarlas y, además, consultarlas como ejemplos para crear tus propias automatizaciones (esta lista se irá ampliando en futuras versiones):
- Add comments block to new post
- Insert block in new post
- Send notification email to admin when there is a new post
- Generate a post's featured image using AI (and optimize it) if a new post has none

Consulta persistida predefinida "Insert block in post"
La consulta GraphQL persistida recién añadida "Insert block in post" permite inyectar un bloque en una entrada. Identifica el enésimo bloque de un tipo dado (wp:paragraph por defecto) en una entrada, y coloca el contenido HTML del bloque personalizado proporcionado justo después.
Usada junto con la extensión Automatización, esta consulta persistida puede emplearse para inyectar automáticamente bloques obligatorios en una entrada recién publicada (p. ej.: un bloque CTA para promocionar una campaña en curso).
Mejoras
- Si la inicialización del contenedor de servicios desde la caché falla, recurre a inicializar el objeto PHP desde memoria (#2638)
- Asignar un operationName único a todas las consultas persistidas predefinidas (#2644)
- Mejorado el mensaje de error al obtener bloques de una entrada cuando el contenido del bloque tiene errores
- Completada la documentación para la extensión Automation (#2651)
- En la consulta persistida predefinida "Generate a post's featured image using AI and optimize it", ejecutar la lógica solo si el título de la entrada no está vacío (#ec931dd)
Corregido
- Bug en el componente JS multi-control usado por las extensiones (Access Control, Cache Control y Field Deprecation) que mostraba "undefined" en el bloque de la configuración de esquema (#2639)
- Bug en los reemplazos con regex en las consultas persistidas predefinidas (#2649)
- Evitar reinstalar los datos de configuración del plugin al desactivar/reactivar el plugin (#2641)
- Gestionar el error al pasar un WP_Post como variable GraphQL al servidor GraphQL interno (#2652)