Pular para o conteúdo principal

Aprenda criar conteudo de demonstração com o Playground

Uma das coisas que você pode querer fazer para fornecer uma boa demonstração com o WordPress Playground é carregar conteúdo padrão para destacar melhor os recursos do seu plugin ou tema. Este conteúdo padrão pode incluir imagens ou outros recursos.

Existem vários passos de blueprint e estratégias que você pode usar para importar conteúdo (ou gerá-lo) na instância do Playground:

importWxr

Com o passo importWxr, você pode importar seu próprio conteúdo via um arquivo .xml previamente exportado de uma instalação WordPress existente:

"steps": [
...,
{
"step": "importWxr",
"file": {
"resource": "url",
"url": "https://raw.githubusercontent.com/WordPress/blueprints/trunk/blueprints/install-activate-setup-theme-from-gh-repo/blueprint-content.xml"
}
},
...
]

   Executar Blueprint         Ver blueprint.json   

info

Para incluir imagens no seu conteúdo importado, uma boa abordagem é fazer upload das imagens para seu repo GitHub e substituir o caminho delas no arquivo .xml exportado usando o formato de URL: https://raw.githubusercontent.com/{repo}/{branch}/{image_path}.

<!-- wp:image {"lightbox":{"enabled":false},"id":4751,"width":"78px","sizeSlug":"full","linkDestination":"none","align":"center","className":"no-border"} -->
<figure class="wp-block-image aligncenter size-full is-resized no-border">
<img src="https://raw.githubusercontent.com/WordPress/blueprints/trunk/blueprints/install-activate-setup-theme-from-gh-repo/images/avatars.png" alt="" class="wp-image-4751" style="width:78px" />
</figure>
<!-- /wp:image -->

É recomendado fazer upload do seu arquivo .xml exportado e quaisquer recursos referenciados (como imagens) para o mesmo diretório do seu blueprint.json no seu repositório GitHub.

importWordPressFiles

Com o passo importWordPressFiles, você pode importar seus próprios arquivos WordPress de nível superior de um arquivo .zip fornecido para a pasta raiz da instância. Por exemplo, se um arquivo .zip contém os diretórios wp-content e wp-includes, eles substituirão os diretórios correspondentes na pasta raiz do Playground.

Este arquivo zip pode ser criado a partir de qualquer instância do Playground com a opção "Download as zip" no Menu de Opções do Playground.

Você pode preparar uma demonstração para seu tema ou plugin WordPress (incluindo imagens e outros recursos) em uma instância do Playground e depois exportar um snapshot dessa demonstração para um arquivo .zip. Este arquivo pode ser importado posteriormente usando o passo importWordPressFiles.

{
"landingPage": "/",
"login": true,
"steps": [
{
"step": "importWordPressFiles",
"wordPressFilesZip": {
"resource": "url",
"url": "https://raw.githubusercontent.com/adamziel/playground-sites/main/playground-for-site-builders/playground.zip"
}
}
]
}

   Executar Blueprint   

importThemeStarterContent

Alguns temas têm conteúdo inicial que pode ser publicado para destacar os recursos de um tema.

Com o passo importThemeStarterContent, você pode publicar o conteúdo inicial de qualquer tema, mesmo que esse tema não seja o ativado na instância do Playground.


"steps": [
{
"step": "installTheme",
"themeData": {
"resource": "wordpress.org/themes",
"slug": "twentytwenty"
}
},
{
"step": "installTheme",
"themeData": {
"resource": "wordpress.org/themes",
"slug": "twentytwentyone"
},
"options": {
"activate": true
}
},
{
"step": "importThemeStarterContent",
"themeSlug": "twentytwenty"
}
]

   Executar Blueprint   

Você também pode publicar o conteúdo inicial de um tema ao instalá-lo com o passo installTheme definindo como true sua opção importStarterContent:

{
"steps": [
{
"step": "installTheme",
"themeData": {
"resource": "wordpress.org/themes",
"slug": "twentytwenty"
},
"options": {
"activate": true,
"importStarterContent": true
}
}
]
}

   Executar Blueprint   

wp-cli

Outra maneira de gerar conteúdo para seu tema ou plugin é através do passo wp-cli que permite executar comandos WP-CLI como wp post generate:

{
"landingPage": "/wp-admin/edit.php",
"login": true,
"steps": [
{
"step": "wp-cli",
"command": "wp post generate --count=20 --post_type=post --post_date=1999-01-04"
}
]
}

   Executar Blueprint   

Você também pode usar o passo wp-cli em combinação com o passo writeFile para criar posts baseados em conteúdo existente e importar imagens para a instância do Playground:

{
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
"landingPage": "/?p=4",
"login": true,
"steps": [
{
"step": "writeFile",
"path": "/wordpress/wp-content/postcontent.md",
"data": {
"resource": "url",
"url": "https://raw.githubusercontent.com/wordpress/blueprints/trunk/blueprints/wpcli-post-with-image/postcontent.md"
}
},
{
"step": "wp-cli",
"command": "wp post create --post_title='Welcome to Playground' --post_status='published' /wordpress/wp-content/postcontent.md"
},
{
"step": "writeFile",
"path": "/wordpress/wp-content/Select-storage-method.png",
"data": {
"resource": "url",
"url": "https://raw.githubusercontent.com/wordpress/blueprints/trunk/blueprints/wpcli-post-with-image/Select-storage-method.png"
}
},
{
"step": "wp-cli",
"command": "wp media import wordpress/wp-content/Select-storage-method.png --post_id=4 --title='Select your storage method' --featured_image"
}
]
}

   Executar Blueprint   

dica

Confira o exemplo "Usar wp-cli para adicionar um post com imagem" da Galeria de Blueprints para ver o exemplo completo mostrando a conexão entre o conteúdo e a imagem destacada.

runPHP

Com o passo runPHP, você pode executar qualquer código PHP que precise para inserir informações na sua instalação WordPress, por exemplo, usando a função wp_insert_post.

{
"landingPage": "/wp-admin/edit.php",
"login": true,
"steps": [
{
"step": "runPHP",
"code": "<?php require_once 'wordpress/wp-load.php'; wp_insert_post(array('post_title' => 'Simple post from PHP', 'post_content' => '<!-- wp:paragraph --><p>This is a simple post inserted with wp_insert_post</p><!-- /wp:paragraph -->', 'post_author' => 1, 'post_status' => 'publish')); ?>"
}
]
}

   Executar Blueprint