Pular para o conteúdo principal

Exemplos de Blueprints

dica

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

CampoTipoDescrição
titlestringUm nome curto e legível para o Blueprint.
descriptionstringUm breve resumo explicando a configuração.
authorstringO nome ou identificador do criador.
categoriesarray<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.

observação

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:

  1. Criar um arquivo ZIP com esses arquivos e o blueprint.json
  1. Hospedar o arquivo ZIP em um servidor
  1. 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.