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
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"
}
}
]
}
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"
}
]
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
}
}
]
}
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"
}
]
}
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"
}
]
}
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')); ?>"
}
]
}