ID: 0x

|

DATE:

Blueprints no WordPress Playground

AUTHOR:

|

READ_TIME: ~5 MIN

Uma das perguntas que mais recebo quando apresento o WordPress Playground em eventos é: “Como eu garanto que o site sempre comece com meu plugin ativado e as configurações certas?”. A resposta curta é: Blueprints.

Se o Playground é o motor que roda o WordPress no navegador via WebAssembly (WASM), a Blueprint é a “receita” que define o estado inicial dessa instância. Sem ela, você teria que configurar tudo manualmente a cada nova sessão, o que mataria a produtividade.

O que é uma Blueprint?

Uma Blueprint é um arquivo JSON que descreve exatamente como sua instância do Playground deve se comportar. Ela permite definir desde versões de software até automações complexas. Com ela, você configura:

  • Versões preferidas: Escolha versões específicas do PHP e do WordPress.
  • Plugins e temas: Defina o que deve ser instalado e ativado automaticamente
  • Passos de automação (steps): Crie posts, usuários ou execute comandos de terminal.

Os steps que você vai usar toda hora

Um Blueprint é uma lista de steps (passos) executados em ordem. Os mais comuns no dia a dia:

  • login — já entra autenticado no wp-admin.
  • installPlugin / installTheme — instala e ativa a partir do diretório do WordPress.org ou de um arquivo.
  • runPHP — roda PHP arbitrário; para usar funções do WordPress, inclua antes o wp-load.php.
  • wp-cli — executa comandos do WP-CLI (com a ressalva de que, no navegador, nem todos os comandos são suportados).
{
  "step": "runPHP",
  "code": "<?php require_once 'wordpress/wp-load.php'; wp_insert_post(['post_title' => 'Olá', 'post_status' => 'publish']); ?>"
}Code language: HTML, XML (xml)

A lista completa de steps fica no hub de documentação dos Blueprints — que, dado o peso dos Blueprints no Playground, hoje é uma seção inteira da documentação oficial.

Começando com o pé direito: JSON Schema

Para evitar erros de sintaxe e ganhar agilidade, sempre comece sua Blueprint referenciando o JSON Schema oficial. Isso habilita o autocompletar no VS Code e valida suas propriedades em tempo real, evitando aquele “debug por tentativa e erro”.

{
  "$schema": "https://playground.wordpress.net/blueprint-schema.json",
  "landingPage": "/wp-admin/",
  "preferredVersions": {
    "php": "8.3",
    "wp": "latest"
  }
}Code language: JSON / JSON with Comments (json)

Benefícios Práticos: Do Repositório ao Teste Local

1. Live Preview no WordPress.org

Você já deve ter notado o botão de Live Preview no repositório oficial de plugins. Aquilo é alimentado por uma Blueprint. Se você é desenvolvedor, adicionar um arquivo blueprint.json na pasta /assets do seu SVN permite que qualquer usuário teste seu plugin instantaneamente. É a melhor forma de reduzir a fricção de adoção do seu projeto.

Live Preview no WordPress.org

2. Automação com a CLI

No dia a dia, eu utilizo Blueprints para agilizar o debug. Em vez de subir um site e configurar o WooCommerce manualmente, eu rodo um comando e tenho o ambiente pronto em segundos:

npx @wp-playground/cli start --blueprint=setup-loja.jsonCode language: CSS (css)

3. Botões de preview em Pull Requests

Um uso que poucos conhecem: combinando um Blueprint com o GitHub Actions, você adiciona um botão de preview automático em cada Pull Request do seu plugin ou tema. Quem abre o PR ganha um link que sobe um WordPress já configurado com aquela alteração — revisar virou um clique. O Blueprint também aceita URLs de repositório .git diretamente como fonte de plugins e temas.

Exemplo: Blueprint de Ambiente de Desenvolvimento

Aqui está uma receita completa para um ambiente de teste robusto, incluindo o uso de comandos via terminal:

{
  "$schema": "https://playground.wordpress.net/blueprint-schema.json",
  "landingPage": "/wp-admin/",
  "preferredVersions": {
    "php": "8.3",
    "wp": "6.7"
  },
  "features": {
    "networking": true
  },
  "steps": [
    {
      "step": "login",
      "username": "admin",
      "password": "password"
    },
    {
      "step": "installPlugin",
      "pluginData": {
        "resource": "wordpress.org/plugins",
        "slug": "akismet"
      },
      "options": { "activate": true }
    },
    {
      "step": "wp-cli",
      "command": "wp option update blogname 'Lab do Playground'"
    }
  ]
}Code language: JSON / JSON with Comments (json)

Conclusão

Trabalhar com Blueprints transforma o WordPress de um CMS estático em uma ferramenta de desenvolvimento dinâmico e portátil. Se você ainda não padronizou o setup dos seus plugins com receitas JSON, está perdendo tempo precioso.

Além disso, essa padronização facilita muito o trabalho em equipe, pois todos rodam exatamente a mesma configuração com um único comando.


ENCODING: UTF-8

|

CHMOD: 644

// RELATED_ENTRIES

NEXT_READS

> cat ./comments.log

LOADING_ENTRIES…


> write ./comments.log –append

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *