Exemplos de Blueprints
Confira a Galeria de Blueprints para explorar exemplos de código do mundo real usando o WordPress Playground para lançar um site WordPress com uma variedade de configurações.
Vamos ver algumas coisas legais que você pode fazer com Blueprints.
Instalar um Tema e um Plugin
{
"steps": [
{
"step": "installPlugin",
"pluginData": {
"resource": "wordpress.org/plugins",
"slug": "coblocks"
}
},
{
"step": "installTheme",
"themeData": {
"resource": "wordpress.org/themes",
"slug": "pendant"
}
}
]
}
O objeto meta
O objeto opcional meta fornece informações descritivas sobre seu Blueprint. Embora não afete como o Blueprint é executado, essas informações são cruciais para fins de exibição em galerias, seletores de Blueprint e ferramentas integradas como WordPress Studio e Galeria de Blueprints.
Propriedades
| Campo | Tipo | Descrição |
|---|---|---|
title | string | Um nome curto e legível para o Blueprint. |
description | string | Um breve resumo explicando a configuração. |
author | string | O nome ou identificador do criador. |
categories | array<string> | Tags usadas para filtrar e agrupar Blueprints. |
{
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
"meta": {
"title": "Configuração Padrão do Playground",
"description": "Uma configuração básica para um novo site WordPress com as versões mais recentes.",
"author": "Equipe Playground",
"categories": ["starter", "default"]
},
"landingPage": "/wp-admin/",
"preferredVersions": {
"php": "8.3",
"wp": "latest"
}
}
Executar 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 uma opção na página de Experimentos do Gutenberg
Aqui: Ative o recurso "novas visualizações de administração".
{
"steps": [
{
"step": "runPHP",
"code": "<?php require '/wordpress/wp-load.php'; update_option( 'gutenberg-experiments', array( 'gutenberg-dataviews' => true ) );"
}
]
}
Como trabalhar com WP-CLI a partir do terminal e do Playground
Você pode executar comandos WP-CLI em uma instância do Playground tanto do seu terminal quanto diretamente dentro de um Blueprint.
Para usar seu terminal, você deve primeiro montar o diretório /wordpress/ e garantir que a integração com o banco de dados SQLite esteja configurada. Isso ocorre porque o banco de dados interno do Playground não persiste em um site montado, então você deve instalar explicitamente o plugin de banco de dados via Blueprint. Isso permite que o WP-CLI reconheça a instalação do WordPress e se conecte ao seu banco de dados.
Se você executar comandos WP-CLI como etapas dentro do seu arquivo Blueprint, essa configuração manual não é necessária.
O seguinte trecho de Blueprint lida com essa configuração:
{
"plugins": [
"sqlite-database-integration"
]
}
Para uma explicação detalhada de por que isso é necessário, consulte a seção Solucionar problemas e depurar Blueprints.
Apresentar uma demonstração de produto
{
"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 rede
{
"landingPage": "/wp-admin/plugin-install.php",
"features": {
"networking": true
},
"steps": [
{
"step": "login"
}
]
}
Carregar código PHP em cada requisição (mu-plugin)
Use a etapa writeFile para adicionar código a um mu-plugin que é executado em cada requisição.
{
"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 um bloco 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',]);"
}
]
}
Você pode compartilhar seus próprios exemplos de Blueprint nesta wiki dedicada.
Carregar uma versão antiga do WordPress
O Playground vem apenas com algumas versões recentes do WordPress. Se você precisar usar uma versão mais antiga, este Blueprint pode ajudá-lo: altere o número da versão em "url": "https://playground.wordpress.net/plugin-proxy.php?url=https://wordpress.org/wordpress-6.2.1.zip" de 6.2.1 para a versão que você deseja carregar.
Nota: a versão mais antiga suportada do WordPress é 6.2.1, seguindo o plugin de integração 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"
}
]
}
Executar WordPress do trunk ou de um commit específico
O WordPress Playground pode executar o trunk (o commit mais recente), o HEAD de um branch específico ou um commit específico do repositório GitHub WordPress/WordPress.
Você pode especificar a referência em "url": "https://playground.wordpress.net/plugin-proxy.php?build-ref=trunk".
Para especificar o commit mais recente de um branch específico, você pode alterar a referência para o número da versão do branch, por exemplo 6.6. Para executar um commit específico, você pode usar o hash do commit de WordPress/WordPress, por exemplo 7d7a52367dee9925337e7d901886c2e9b21f70b6.
Nota: a versão mais antiga suportada do WordPress é 6.2.1, seguindo o plugin de integração 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
Aqui está um exemplo de um Blueprint que usa recursos agrupados de um 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 seria um arquivo zip contendo os seguintes arquivos:
/blueprint.json- A declaração do blueprint descrita acima/my-theme.zip- Um pacote de tema/my-plugin.zip- Um pacote de plugin/assets/custom-page.html- Um arquivo HTML personalizado
Você pode usar este bundle de Blueprint ao:
- Criar um arquivo ZIP com esses arquivos e o blueprint.json
- Hospedar o arquivo ZIP em um servidor
- Carregá-lo com
?blueprint-url=https://example.com/my-blueprint-bundle.zip
Para mais informações sobre bundles de Blueprint, consulte a documentação de Bundles de Blueprint.