Ir al contenido principal

Ejemplos de Blueprints

consejo

Consulta la Galería de Blueprints para explorar ejemplos de código del mundo real usando WordPress Playground para lanzar un sitio WordPress con una variedad de configuraciones.

Veamos algunas cosas geniales que puedes hacer con Blueprints.

Instalar un Tema y un Plugin

{
"steps": [
{
"step": "installPlugin",
"pluginData": {
"resource": "wordpress.org/plugins",
"slug": "coblocks"
}
},
{
"step": "installTheme",
"themeData": {
"resource": "wordpress.org/themes",
"slug": "pendant"
}
}
]
}

El objeto meta

El objeto opcional meta proporciona información descriptiva sobre tu Blueprint. Aunque no afecta cómo se ejecuta el Blueprint, esta información es crucial para propósitos de visualización en galerías, selectores de Blueprint y herramientas integradas como WordPress Studio y Galería de Blueprints.

Propiedades

CampoTipoDescripción
titlestringUn nombre corto y legible para el Blueprint.
descriptionstringUn breve resumen explicando la configuración.
authorstringEl nombre o identificador del creador.
categoriesarray<string>Etiquetas usadas para filtrar y agrupar Blueprints.
{
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
"meta": {
"title": "Configuración Predeterminada del Playground",
"description": "Una configuración básica para un nuevo sitio WordPress con las versiones más recientes.",
"author": "Equipo Playground",
"categories": ["starter", "default"]
},
"landingPage": "/wp-admin/",
"preferredVersions": {
"php": "8.3",
"wp": "latest"
}
}

Ejecutar código PHP personalizado

{
"steps": [
{
"step": "runPHP",
"code": "<?php require_once '/wordpress/wp-load.php'; wp_insert_post(array( 'post_title' => 'Post title', 'post_content' => 'Post content', 'post_status' => 'publish', 'post_author' => 1 )); "
}
]
}

Habilitar una opción en la página de Experimentos de Gutenberg

Aquí: Activa la función "nuevas vistas de administración".

{
"steps": [
{
"step": "runPHP",
"code": "<?php require '/wordpress/wp-load.php'; update_option( 'gutenberg-experiments', array( 'gutenberg-dataviews' => true ) );"
}
]
}

Cómo trabajar con WP-CLI desde la terminal y Playground

Puedes ejecutar comandos WP-CLI en una instancia de Playground desde tu terminal o directamente dentro de un Blueprint.

Para usar tu terminal, primero debes montar el directorio /wordpress/ y asegurarte de que la integración de la base de datos SQLite esté configurada. Esto se debe a que la base de datos interna de Playground no persiste en un sitio montado, por lo que debes instalar explícitamente el plugin de base de datos a través de un Blueprint. Esto permite que WP-CLI reconozca la instalación de WordPress y se conecte a su base de datos.

nota

Si ejecutas comandos WP-CLI como pasos dentro de tu archivo Blueprint, esta configuración manual no es necesaria.

El siguiente fragmento de Blueprint maneja esta configuración:

{
"plugins": [
"sqlite-database-integration"
]
}

Para una explicación detallada de por qué esto es necesario, consulta la sección Solucionar problemas y depurar Blueprints.

Mostrar una demostración de producto

{
"steps": [
{
"step": "installPlugin",
"pluginData": {
"resource": "url",
"url": "https://your-site.com/your-plugin.zip"
}
},
{
"step": "installTheme",
"themeData": {
"resource": "url",
"url": "https://your-site.com/your-theme.zip"
}
},
{
"step": "importWxr",
"file": {
"resource": "url",
"url": "https://your-site.com/starter-content.wxr"
}
},
{
"step": "setSiteOptions",
"options": {
"some_required_option_1": "your_favorite_values",
"some_required_option_2": "your_favorite_values"
}
}
]
}

Habilitar redes

{
"landingPage": "/wp-admin/plugin-install.php",
"features": {
"networking": true
},
"steps": [
{
"step": "login"
}
]
}

Cargar código PHP en cada solicitud (mu-plugin)

Usa el paso writeFile para agregar código a un mu-plugin que se ejecuta en cada solicitud.

{
"landingPage": "/category/uncategorized/",
"features": {
"networking": true
},
"steps": [
{
"step": "login"
},
{
"step": "writeFile",
"path": "/wordpress/wp-content/mu-plugins/rewrite.php",
"data": "<?php add_action( 'after_setup_theme', function() { global $wp_rewrite; $wp_rewrite->set_permalink_structure('/%postname%/'); $wp_rewrite->flush_rules(); } );"
}
]
}

Editor de código (como un bloque Gutenberg)

{
"landingPage": "/wp-admin/post.php?post=4&action=edit",
"steps": [
{
"step": "login",
"username": "admin",
"password": "password"
},
{
"step": "installPlugin",
"pluginData": {
"resource": "wordpress.org/plugins",
"slug": "interactive-code-block"
}
},
{
"step": "runPHP",
"code": "<?php require '/wordpress/wp-load.php'; wp_insert_post(['post_title' => 'WordPress Playground block demo!','post_content' => '<!-- wp:wordpress-playground/playground /-->', 'post_status' => 'publish', 'post_type' => 'post',]);"
}
]
}

Puedes compartir tus propios ejemplos de Blueprint en esta wiki dedicada.

Cargar una versión antigua de WordPress

Playground solo incluye algunas versiones recientes de WordPress. Si necesitas usar una versión más antigua, este Blueprint puede ayudarte: cambia el número de versión en "url": "https://playground.wordpress.net/plugin-proxy.php?url=https://wordpress.org/wordpress-6.2.1.zip" de 6.2.1 a la versión que deseas cargar.

Nota: la versión más antigua compatible de WordPress es 6.2.1, siguiendo el plugin de integración SQLite.

{
"landingPage": "/wp-admin",
"preferredVersions": {
"wp": "https://playground.wordpress.net/plugin-proxy.php?url=https://wordpress.org/wordpress-6.2.1.zip",
"php": "8.3"
},
"features": {
"networking": true
},
"steps": [
{
"step": "login",
"username": "admin",
"password": "password"
}
]
}

Ejecutar WordPress desde trunk o un commit específico

WordPress Playground puede ejecutar trunk (el commit más reciente), el HEAD de una rama específica o un commit específico del repositorio GitHub WordPress/WordPress.

Puedes especificar la referencia en "url": "https://playground.wordpress.net/plugin-proxy.php?build-ref=trunk".

Para especificar el último commit de una rama específica, puedes cambiar la referencia al número de versión de la rama, por ejemplo 6.6. Para ejecutar un commit específico, puedes usar el hash del commit de WordPress/WordPress, por ejemplo 7d7a52367dee9925337e7d901886c2e9b21f70b6.

Nota: la versión más antigua compatible de WordPress es 6.2.1, siguiendo el plugin de integración SQLite.

{
"landingPage": "/wp-admin",
"login": true,
"preferredVersions": {
"php": "8.3",
"wp": "https://playground.wordpress.net/plugin-proxy.php?build-ref=trunk"
}
}

Usando Bundles de Blueprint

Aquí hay un ejemplo de un Blueprint que usa recursos empaquetados de un bundle de Blueprint:

{
"landingPage": "/",
"preferredVersions": {
"php": "8.3",
"wp": "latest"
},
"steps": [
{
"step": "installTheme",
"themeData": {
"resource": "bundled",
"path": "/my-theme.zip"
},
"activate": true
},
{
"step": "installPlugin",
"pluginData": {
"resource": "bundled",
"path": "/my-plugin.zip"
},
"activate": true
},
{
"step": "writeFile",
"path": "/wordpress/custom-page.html",
"data": {
"resource": "bundled",
"path": "/assets/custom-page.html"
}
}
]
}

Este bundle de Blueprint sería un archivo zip que contiene los siguientes archivos:

  • /blueprint.json - La declaración del blueprint descrita anteriormente
  • /my-theme.zip - Un paquete de tema
  • /my-plugin.zip - Un paquete de plugin
  • /assets/custom-page.html - Un archivo HTML personalizado

Puedes usar este bundle de Blueprint:

  1. Creando un archivo ZIP con estos archivos y el blueprint.json
  1. Alojando el archivo ZIP en un servidor
  1. Cargándolo con ?blueprint-url=https://example.com/my-blueprint-bundle.zip

Para más información sobre bundles de Blueprint, consulta la documentación de Bundles de Blueprint.