diff --git a/packages/docs/site/i18n/es/docusaurus-plugin-content-docs/current/main/guides/for-plugin-developers.md b/packages/docs/site/i18n/es/docusaurus-plugin-content-docs/current/main/guides/for-plugin-developers.md new file mode 100644 index 0000000000..38babdaec5 --- /dev/null +++ b/packages/docs/site/i18n/es/docusaurus-plugin-content-docs/current/main/guides/for-plugin-developers.md @@ -0,0 +1,509 @@ +--- +title: WordPress Playground para Desarrolladores de Plugins +slug: /guides/for-plugin-developers +description: Una guía para desarrolladores de plugins sobre cómo usar Playground para construir, probar y crear convincentes demostraciones en vivo para sus plugins. +--- + + + +El WordPress Playground es una herramienta innovadora que permite a los desarrolladores de plugins construir, probar y mostrar sus plugins directamente en un entorno de navegador. + +Esta guía te mostrará cómo usar WordPress Playground para mejorar tu flujo de trabajo de desarrollo de plugins, crear demostraciones en directo para mostrar tu plugin y simplificar las pruebas y revisiones de tu plugin. + + + +:::info + +Descubre cómo [Construir](/about/build), [Probar](/about/test) y [Lanzar](/about/launch) tus productos con WordPress Playground en la sección [Acerca de Playground](/about). + +::: + + + +## Lanzando una instancia de Playground con un plugin + + + +### El Plugin en el directorio de plugins de WordPress + + + +Con WordPress Playground, puedes lanzar rápidamente una instalación de WordPress con casi cualquier plugin disponible en el [Directorio de Plugins de WordPress](https://wordpress.org/plugins/) instalado y activado. Todo lo que necesitas hacer es añadir el parámetro de consulta `plugin` a la [URL de Playground](https://playground.wordpress.net) y usar el slug del plugin del directorio de WordPress como valor. Por ejemplo: https://playground.wordpress.net/?plugin=create-block-theme + + + +:::tip +Puedes instalar y activar varios plugins a través de parámetros de consulta repitiendo el parámetro `plugin` para cada plugin que quieras instalar y activar en la instancia de Playground. Por ejemplo: https://playground.wordpress.net/?plugin=gutenberg&plugin=akismet&plugin=wordpress-seo. +::: + + + +También puedes cargar cualquier plugin del directorio de plugins de WordPress configurando [el paso `installPlugin`](/blueprints/steps#InstallPluginStep) de un [Blueprint](/blueprints/getting-started) pasándolo a la instancia de Playground. + +```json +{ + "landingPage": "/wp-admin/plugins.php", + "login": true, + "steps": [ + { + "step": "installPlugin", + "pluginData": { + "resource": "wordpress.org/plugins", + "slug": "gutenberg" + } + } + ] +} +``` + +[   Ejecuta el Blueprint   ](https://playground.wordpress.net/builder/builder.html#{%22landingPage%22:%22/wp-admin/plugins.php%22,%22login%22:true,%22steps%22:[{%22step%22:%22installPlugin%22,%22pluginData%22:{%22resource%22:%22wordpress.org/plugins%22,%22slug%22:%22gutenberg%22}}]}) + + + +Los Blueprints pueden ser pasados a una instancia de Playground [de múltiples formas](/blueprints/using-blueprints). + + + +### Plugin en un repositorio de GitHub + + + +Un plugin almacenado en un repositorio de GitHub también puede ser cargado en una instancia de Playground a través de Blueprints. + +Con la propiedad `pluginData` del [paso `installPlugin` del blueprint](/blueprints/steps#installPlugin), puedes definir un [`recurso url`](/blueprints/steps/resources#urlreference) que apunte a la ubicación del archivo `.zip` que contiene el plugin que deseas cargar en la instancia de Playground. + +Para evitar problemas de CORS, el proyecto Playground proporciona un [proxy de GitHub](https://playground.wordpress.net/proxy) que te permite generar un `.zip` a partir de un repositorio (o incluso una carpeta dentro de un repositorio) que contiene tu plugin. + + + +:::info +[El proxy de GitHub](https://playground.wordpress.net/proxy) es una herramienta increíblemente útil para cargar plugins desde repositorios de GitHub, ya que te permite cargar un plugin desde una rama específica, un directorio específico, un commit específico o un PR específico. +::: + + + +:::tip +Si tu plugin está alojado en GitHub, puedes agregar automáticamente botones de vista previa a tus pull requests utilizando la GitHub Action llamada Playground PR Preview. Esto permite a los revisores probar tus cambios al instante sin ninguna configuración. Consulta [Agregar botones de vista previa de PR con GitHub Actions](/guides/github-action-pr-preview) para más detalles. +::: + + + +Por ejemplo, el siguiente `blueprint.json` instala un plugin desde un repositorio de GitHub aprovechando la herramienta https://github-proxy.com: + +```json +{ + "landingPage": "/wp-admin/admin.php?page=add-media-from-third-party-service", + "login": true, + "steps": [ + { + "step": "installPlugin", + "pluginData": { + "resource": "url", + "url": "https://github-proxy.com/proxy/?repo=wptrainingteam/devblog-dataviews-plugin" + } + } + ] +} +``` + +[   Ejecuta el Blueprint   ](https://playground.wordpress.net/builder/builder.html#{%22landingPage%22:%22/wp-admin/admin.php?page=add-media-from-third-party-service%22,%22login%22:true,%22steps%22:[{%22step%22:%22installPlugin%22,%22pluginData%22:{%22resource%22:%22url%22,%22url%22:%22https://github-proxy.com/proxy/?repo=wptrainingteam/devblog-dataviews-plugin%22}}]}) + + + +### Plugin desde el código en un archivo o gist en GitHub + + + +Al combinar los pasos [`writeFile`](/blueprints/steps#WriteFileStep) y [`activatePlugin`](/blueprints/steps#activatePlugin) también puedes lanzar una instancia de WP Playground con un plugin creado sobre la marcha a partir de código almacenado en un gist o [un archivo en GitHub](https://raw.githubusercontent.com/WordPress/blueprints/trunk/blueprints/custom-post/books.php): + +```json +{ + "landingPage": "/wp-admin/plugins.php", + "login": true, + "steps": [ + { + "step": "login" + }, + { + "step": "writeFile", + "path": "/wordpress/wp-content/plugins/cpt-books.php", + "data": { + "resource": "url", + "url": "https://raw.githubusercontent.com/WordPress/blueprints/trunk/blueprints/custom-post/books.php" + } + }, + { + "step": "activatePlugin", + "pluginPath": "cpt-books.php" + } + ] +} +``` + +[   Ejecuta el Blueprint   ](https://playground.wordpress.net/builder/builder.html#{%22landingPage%22:%22/wp-admin/plugins.php%22,%22login%22:true,%22steps%22:[{%22step%22:%22login%22},{%22step%22:%22writeFile%22,%22path%22:%22/wordpress/wp-content/plugins/cpt-books.php%22,%22data%22:{%22resource%22:%22url%22,%22url%22:%22https://raw.githubusercontent.com/WordPress/blueprints/trunk/blueprints/custom-post/books.php%22}},{%22step%22:%22activatePlugin%22,%22pluginPath%22:%22cpt-books.php%22}]}) + + + +:::info + +El ejemplo de [Instalar plugin desde un gist](https://playground.wordpress.net/builder/builder.html?blueprint-url=https://raw.githubusercontent.com/wordpress/blueprints/trunk/blueprints/install-plugin-from-gist/blueprint.json#{%22meta%22:{%22title%22:%22Install%20plugin%20from%20a%20gist%22,%22author%22:%22zieladam%22,%22description%22:%22Install%20and%20activate%20a%20WordPress%20plugin%20from%20a%20.php%20file%20stored%20in%20a%20gist.%22,%22categories%22:[%22plugins%22]},%22landingPage%22:%22/wp-admin/plugins.php%22,%22preferredVersions%22:{%22wp%22:%22beta%22,%22php%22:%228.0%22},%22steps%22:[{%22step%22:%22login%22},{%22step%22:%22writeFile%22,%22path%22:%22/wordpress/wp-content/plugins/0-plugin.php%22,%22data%22:{%22resource%22:%22url%22,%22url%22:%22https://gist.githubusercontent.com/ndiego/456b74b243d86c97cda89264c68cbdee/raw/ff00cf25e6eebe4f5a4eaecff10286f71e65340b/block-hooks-demo.php%22}},{%22step%22:%22activatePlugin%22,%22pluginName%22:%22Block%20Hooks%20Demo%22,%22pluginPath%22:%220-plugin.php%22}]}) en la [Galería de Blueprints](https://github.com/WordPress/blueprints/blob/trunk/GALLERY.md) muestra cómo cargar un plugin desde el código en un gist + + + +## Configurando una demo para tu plugin con Blueprints + + + +Cuando proporcionas un enlace a una instancia de WordPress Playground con algunos plugins activados, es posible que también quieras personalizar la configuración inicial de esa instancia de Playground utilizando esos plugins. Con los [Blueprints](/blueprints/getting-started) de Playground puedes cargar/activar plugins y configurar la instancia de Playground. + + + +:::tip + +Algunas herramientas y recursos útiles proporcionados por el proyecto Playground para trabajar con blueprints son: + +- Consulta la [Galería de Blueprints](https://github.com/WordPress/blueprints/blob/trunk/GALLERY.md) para explorar ejemplos de código del mundo real que utilizan WordPress Playground para lanzar un sitio de WordPress con una variedad de configuraciones. +- La herramienta [WordPress Playground Step Library](https://akirk.github.io/playground-step-library/#) proporciona una interfaz visual para arrastrar o hacer clic en los pasos para crear un blueprint para WordPress Playground. ¡También puedes crear tus propios pasos! +- La herramienta [Blueprints builder](https://playground.wordpress.net/builder/builder.html) te permite editar tu blueprint en línea y ejecutarlo directamente en una instancia de Playground. + +::: + + + +A través de propiedades y [`steps`](/blueprints/steps)(pasos) en el Blueprint, puedes configurar el estado inicial de la instancia de Playground, proporcionando a tus plugins el contenido y la configuración necesarios para mostrar las características y convincentes funcionalidades de tu plugin. + + + +:::info + +Una gran demo con WordPress Playground podría requerir que cargues contenido predeterminado para tu plugin y tema, incluyendo imágenes y otros recursos. Consulta la guía [Proporcionar contenido para tu demo](/guides/providing-content-for-your-demo) para obtener más información sobre esto. + +::: + + + +### `plugins` + +Si tu plugin tiene dependencias con otros plugins, puedes usar la clave `plugins` para instalar el tuyo junto con cualquier otro plugin necesario. + +```json +{ + "landingPage": "/wp-admin/plugins.php", + "plugins": ["gutenberg", "sql-buddy", "create-block-theme"], + "login": true +} +``` + +[   Ejecuta el Blueprint   ](https://playground.wordpress.net/builder/builder.html#{%22landingPage%22:%22/wp-admin/plugins.php%22,%22plugins%22:[%22gutenberg%22,%22sql-buddy%22,%22create-block-theme%22],%22login%22:true}) + + + +### `landingPage` + +Si tu plugin tiene una vista de configuración o un asistente de incorporación, puedes usar la clave `landingPage` para redirigir automáticamente a cualquier página en la instancia de Playground al cargarla. + +```json +{ + "landingPage": "/wp-admin/admin.php?page=my-custom-gutenberg-app", + "login": true, + "plugins": ["https://raw.githubusercontent.com/WordPress/block-development-examples/deploy/zips/data-basics-59c8f8.zip"] +} +``` + +[   Ejecuta el Blueprint   ](https://playground.wordpress.net/builder/builder.html#{%22landingPage%22:%22/wp-admin/admin.php?page=my-custom-gutenberg-app%22,%22login%22:true,%22plugins%22:[%22https://raw.githubusercontent.com/WordPress/block-development-examples/deploy/zips/data-basics-59c8f8.zip%22]}) + + + +### `writeFile` + +Con el [paso `writeFile`](/blueprints/steps#writeFile) puedes crear cualquier archivo de un plugin sobre la marcha, haciendo referencia al código de un archivo \*.php almacenado en repositorio de GitHub o un Gist. + +Aquí tienes un ejemplo de un **[plugin que genera Custom Post Types](https://raw.githubusercontent.com/wordpress/blueprints/trunk/blueprints/custom-post/books.php)**, colocado en la carpeta `mu-plugins` para asegurar que el código se ejecute automáticamente al cargar: + +```json +{ + "landingPage": "/wp-admin/", + "login": true, + "steps": [ + { + "step": "writeFile", + "path": "/wordpress/wp-content/mu-plugins/books.php", + "data": { + "resource": "url", + "url": "https://raw.githubusercontent.com/wordpress/blueprints/trunk/blueprints/custom-post/books.php" + } + } + ] +} +``` + + + +## Desarrollo de Plugins + + + +### Desarrollo y pruebas locales de plugins con Playground + + + +Desde la carpeta de un plugin en tu entorno de desarrollo local, puedes cargar rápidamente una instancia de Playground con ese plugin cargado y activado. + +Usa el [comando `@wp-playground/cli`](/developers/local-development/wp-playground-cli) desde el directorio raíz de tu plugin utilizando tu programa de línea de comandos preferido. + +Con el IDE [Visual Studio Code](https://code.visualstudio.com/), también puedes usar la [extensión de Visual Studio Code](/developers/local-development/vscode-extension) mientras trabajas en el directorio raíz de tu plugin. + +Por ejemplo: + +```bash +git clone git@github.com:wptrainingteam/devblog-dataviews-plugin.git +cd devblog-dataviews-plugin +npx @wp-playground/cli server --auto-mount +``` + + + +### Ver tus cambios locales en una instancia de Playground y crear PRs directamente en un repositorio de GitHub con tus cambios + + + +Con Google Chrome puedes sincronizar una instancia de Playground con el código local de tu plugin y el repositorio de GitHub de tu plugin. Con esta conexión puedes: + +- Ver en directo (en la instancia de Playground) tus cambios locales +- Crear PRs en el repositorio de GitHub con tus cambios + +Aquí tienes una pequeña demostración de este flujo de trabajo en acción: + + +

+ + + +:::info + +Consulta [Acerca de Playground > Construye > Sincroniza tu instancia de playground con una carpeta local y crea Pull Requests en GitHub](/about/build#synchronize-your-playground-instance-with-a-local-folder-and-create-github-pull-requests) para obtener más información. + +:::