Ir al contenido principal

API de consulta (Query API)

WordPress Playground expone una API sencilla que puedes usar para configurar la instancia de Playground en el navegador.

Funciona pasando opciones de configuración como parámetros de consulta en la URL de Playground. Por ejemplo, para instalar el tema pendant, usarías la siguiente URL:

https://playground.wordpress.net/?theme=pendant

Puedes probarlo ahora mismo. Playground instalará automáticamente el tema e iniciará sesión como administrador. También puedes incrustar esta URL en tu sitio con una etiqueta <iframe>:

<iframe src="https://playground.wordpress.net/?theme=pendant"></iframe>

Opciones disponibles

OpciónValor predeterminadoDescripción
php8.5Carga la versión de PHP indicada. Acepta 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5 o latest.
wplatestCarga la versión de WordPress indicada. Acepta las tres últimas versiones principales. A partir del 1 de junio de 2024, son 6.3, 6.4 o 6.5. También puedes usar los valores genéricos latest, nightly o beta.
blueprint-urlURL del Blueprint que se usará para configurar esta instancia de Playground.
networkingyesActiva o desactiva la compatibilidad de red en Playground. Acepta yes o no.
pluginInstala el plugin indicado. Usa el nombre del plugin según la URL del directorio de plugins de WordPress. Por ejemplo, si la URL es https://wordpress.org/plugins/wp-lazy-loading/, el nombre sería wp-lazy-loading. Puedes preinstalar varios plugins con plugin=coblocks&plugin=wp-lazy-loading&…. Instalar un plugin inicia sesión automáticamente como admin. Puedes instalar más de un plugin repitiendo el parámetro plugin en la URL.
themeInstala el tema indicado. Usa el nombre del tema según la URL del directorio de temas. Por ejemplo, si la URL es https://wordpress.org/themes/disco/, el nombre sería disco. Instalar un tema inicia sesión automáticamente como admin. Puedes instalar varios temas repitiendo el parámetro theme en la URL.
url/wp-admin/Carga la página inicial de WordPress indicada en esta instancia de Playground.
modebrowser-full-screenDetermina cómo se muestra la instancia de WordPress: envuelta en una interfaz de navegador o a ancho completo para una experiencia continua. Acepta browser-full-screen o seamless.
lazyDiferir la carga de los recursos de Playground hasta que alguien pulse el botón "Ejecutar". No acepta valores. Si se añade lazy como parámetro de URL, la carga se diferirá.
loginyesInicia sesión como administrador. Acepta yes o no.
multisitenoActiva el modo multisitio de WordPress. Acepta yes o no.
import-siteImporta archivos del sitio y la base de datos desde un ZIP indicado por URL.
import-wxrImporta el contenido del sitio desde un archivo WXR indicado por URL. Usa el plugin WordPress Importer; el usuario admin de WordPress debe tener sesión iniciada.
site-slugSelecciona qué sitio cargar desde el almacenamiento del navegador. Si el sitio no existe, se pedirá guardar uno nuevo con el slug indicado.
languageen_USEstablece el idioma de la instancia de WordPress. Debe usarse junto con networking=yes; de lo contrario WordPress no podrá descargar traducciones.
core-prInstala un PR concreto del core en https://github.com/WordPress/wordpress-develop. Acepta el número del PR. Por ejemplo, core-pr=6883.
gutenberg-prInstala un PR concreto de Gutenberg en https://github.com/WordPress/gutenberg. Acepta el número del PR. Por ejemplo, gutenberg-pr=65337.
gutenberg-branchInstala una rama concreta de https://github.com/WordPress/gutenberg. Acepta el nombre de la rama. Por ejemplo, gutenberg-branch=trunk.
page-titlePersonaliza el título de la pestaña del navegador. Útil para identificar distintas instancias de Playground al trabajar con varias pestañas. El parámetro se conserva al navegar entre sitios.
can-savePor defecto se permite guardar Playgrounds en el ordenador o el navegador del usuario. Para desactivar la posibilidad de guardar, añade ?can-save=no y las opciones de guardar desaparecerán de la interfaz.
mcpnoInicia el puente del servidor MCP (Model Context Protocol), permitiendo que clientes MCP externos conecten y controlen la instancia de Playground. Acepta yes o no.
mcp-port7999Define el puerto WebSocket de puente MCP para comunicarse con el servidor MCP. Debe usarse junto con mcp=yes. Por ejemplo, mcp=yes&mcp-port=8080.
overlayAbre una superposición de interfaz al cargar la página. Actualmente admite blueprints para abrir la Galería de Blueprints directamente. Por ejemplo, ?overlay=blueprints. El parámetro se elimina de la URL al cerrar la superposición.

Por ejemplo, el siguiente código incrusta un Playground con el plugin Gutenberg preinstalado y abre el editor de entradas:

<iframe src="https://playground.wordpress.net/?plugin=gutenberg&url=/wp-admin/post-new.php&mode=seamless"> </iframe>
Política CORS

Para importar archivos desde una URL, como un paquete zip del sitio, deben servirse con el encabezado Access-Control-Allow-Origin configurado. Consulta: Cross-Origin Resource Sharing (CORS).

Opciones de exportación a GitHub

Los siguientes parámetros de consulta adicionales pueden usarse para preconfigurar el formulario de exportación a GitHub:

  • gh-ensure-auth: Si se establece en yes, Playground mostrará un modal para asegurar que el usuario esté autenticado en GitHub antes de continuar.
  • ghexport-repo-url: URL del repositorio de GitHub de destino.
  • ghexport-pr-action: Acción al exportar (crear o actualizar).
  • ghexport-playground-root: Directorio raíz en Playground desde el que exportar.
  • ghexport-repo-root: Directorio raíz en el repositorio a destino.
  • ghexport-content-type: Tipo de contenido de la exportación (plugin, theme, wp-content, custom-paths).
  • ghexport-plugin: Ruta del plugin. Cuando el tipo es plugin, preselecciona el plugin a exportar.
  • ghexport-theme: Nombre del directorio del tema. Cuando el tipo es theme, preselecciona el tema a exportar.
  • ghexport-path: Ruta relativa a ghexport-playground-root. Puede repetirse varias veces. Cuando el tipo es custom-paths, rellena la lista de rutas a exportar.
  • ghexport-commit-message: Mensaje de commit al exportar.
  • ghexport-allow-include-zip: Si se ofrece la opción de incluir un zip en la exportación a GitHub (yes, no). Opcional. Por defecto yes.