テーマ開発者のための Playground
WordPress Playground は、テーマ開発者がブラウザ環境で直接テーマを構築、テスト、紹介できる革新的なツールです。
このガイドでは、WordPress Playground を使用してテーマ開発ワークフローを改善し、テーマを紹介するライブデモを作成し、テーマのレビュー プロセスを簡素化する方法を説明します。
WordPress Playground を使って製品を ビルド、テスト、ローンチ する方法については、Playground について セクションでご確認ください。
テーマを指定して Playground インスタンスを起動する
WordPress テーマディレクトリ内のテーマ
WordPress Playground を使えば、WordPress テーマディレクトリにあるテーマを使って、WordPress を素早く起動できます。クエリパラメータのtheme
を Playground URL に渡すだけです。例:https://playground.wordpress.net/?theme=disco
また、Playground インスタンスに渡される Blueprint の installTheme
ステップ を設定することで、WordPress テーマ ディレクトリから任意のテーマをロードすることもできます。
{
"steps": [
{
"step": "installTheme",
"themeData": {
"resource": "wordpress.org/themes",
"slug": "twentytwenty"
},
"options": {
"activate": true,
"importStarterContent": true
}
}
]
}
GitHub リポジトリ内のテーマ
GitHub リポジトリに保存されているテーマは、Blueprints を使用して Playground インスタンスに読み込むこともできます。
installTheme
ブループリント ステップ の themeData
プロパティで、Playground インスタンスにロードするテーマを含む .zip
ファイルの場所を指す url
リソース を定義できます。
CORS の問題を回避するために、Playground プロジェクトでは GitHub プロキシ が提供されており、これを使用すると、自分のテーマを含むリポジトリ (またはリポジトリ内のフォルダー) から .zip
を生成できます。
GitHub プロキシ は、特定のブランチ、特定のディレクトリ、特定のコミット、または特定の PR からテーマを読み込むことができるため、GitHub リポジトリからテーマを読み込むのに非常に便利なツールです。
たとえば、次の blueprint.json
は、https://github-proxy.com ツールを使用して GitHub リポジトリからテーマをインストールします。
{
"steps": [
{
"step": "installTheme",
"themeData": {
"resource": "url",
"url": "https://github-proxy.com/proxy/?repo=Automattic/themes&branch=trunk&directory=assembler"
},
"options": {
"activate": true
}
}
]
}
ブループリントは、いくつかの方法で Playground インスタンスに渡すことができます。
ブループリントでデモテーマを設定する
特定のテーマが有効化された WordPress Playground インスタンスへのリンクを提供する際、そのテーマの初期設定をカスタマイズしたい場合もあるでしょう。Playground の Blueprints を使えば、テーマを読み込み、有効化し、設定することができます。
Playground プロジェクトでは、ブループリントを操作するために、以下の便利なツールとリソースを提供しています。
- ブループリント ギャラリー では、WordPress Playground を使用して様々な設定で WordPress サイトを立ち上げる実際のコード例をご覧いただけます。
- WordPress Playground ステップ ライブラリ ツールは、ステップをドラッグまたはクリックして WordPress Playground のブループリントを作成するためのビジュアルインターフェースを提供します。独自のステップを作成することもできます。
- ブループリント ビルダー ツールを使用すると、ブループリントをオンラインで編集し、Playground インスタンスで直接実行できます。
ブループリント内のプロパティと steps
を通じて、Playground インスタンスでのテーマの初期設定を構成できます。
Playground でテーマのデモを効果的に提供するには、テーマの特徴を強調するデフォルトのコンテンツを Playground に読み込むのがおすすめです。詳しくはデモ用コンテンツの提供ガイドをご覧ください。
resetData
resetData
ステップを使用すると、WordPress インストールのデフォルトのコンテンツを削除して、独自のコンテンツをインポートできます。
"steps": [
...,
{
"step": "resetData"
},
...
]
Run Blueprint See blueprint.json
writeFile
writeFile
ステップを使用すると、指定したパスのファイルにデータを書き込むことができます。このステップを使用して、Playground WordPress インスタンスの mu-plugins
フォルダ内の PHP ファイルにカスタム PHP コードを記述し、WordPress インスタンスのロード時にコードを自動的に実行することができます。
このステップで実行できることの一つは、Playground インスタンスの pretty パーマリンクを有効にすることです。
"steps": [
...,
{
"step": "writeFile",
"path": "/wordpress/wp-content/mu-plugins/rewrite.php",
"data": "<?php /* Use pretty permalinks */ add_action( 'after_setup_theme', function() { global $wp_rewrite; $wp_rewrite->set_permalink_structure('/%postname%/'); $wp_rewrite->flush_rules(); } );"
},
...
]
Run Blueprint See blueprint.json
updateUserMeta
updateUserMeta
ステップを使用すると、任意のユーザーメタデータを更新できます。例えば、任意の WordPress インストールのデフォルトの admin
ユーザーのメタデータを更新できます。
"steps": [
...,
{
"step": "updateUserMeta",
"meta": {
"first_name": "John",
"last_name": "Doe",
"admin_color": "modern"
},
"userId": 1
},
...
]
Run Blueprint See blueprint.json
setSiteOptions
setSiteOptions
ステップでは、サイト名、説明、投稿に使用するページなどの サイト オプション を設定できます。
"steps": [
...,
{
"step": "setSiteOptions",
"options": {
"blogname": "Rich Tabor",
"blogdescription": "Multidisciplinary maker specializing in the intersection of product, design and engineering. Making WordPress.",
"show_on_front": "page",
"page_on_front": 6,
"page_for_posts": 2
}
},
...
]
Run Blueprint See blueprint.json
setSiteOptions
ステップの代わりに使用できる siteOptions
ショートカットもあります。
plugins
plugins
ショートハンドを使用すると、Playground インスタンスでテーマとともにインストールしてアクティブ化するプラグインのリストを設定できます。
"plugins": ["todo-list-block", "markdown-comment-block"]
Run Blueprint See blueprint.json
installPlugin
ステップを使用して、Playground インスタンスのプラグインをインストールしてアクティブ化することもできますが、簡単な方法が推奨されます。
login
login
ショートカットを使用すると、管理者ユーザーがログインした状態で Playground インスタンスを起動できます。
"login": true,
Run Blueprint See blueprint.json
login
ステップを使用して、特定のユーザーでログインした状態で Playground インスタンスを起動することもできます。
Blueprints Gallery の "Stylish Press" および "GitHub リポジトリからのテーマの読み込み、アクティブ化、および構成" の例は、Playground インスタンスでブロック テーマを読み込み、アクティブ化、インポートし、構成するための優れたリファレンスです。
テーマ開発
Playground を使用したローカルテーマの開発とテスト
ブロックテーマのコードのルートフォルダから、そのテーマが読み込まれ有効化された Playground インスタンスをローカルに素早く読み込むことができます。テーマディレクトリで、お好みのコマンドラインプログラムからwp-now
コマンドを実行するか、Visual Studio Code IDE からVisual Code Studio 拡張機能を起動することで実行できます。
例えば:
git clone git@github.com:WordPress/community-themes.git
cd community-themes/blue-note
npx @wp-now/wp-now start
WordPress UI を使用してテーマをデザインし、変更をプルリクエストとして保存します
Playground インスタンスを GitHub リポジトリに接続し、Create Block Themeプラグインを活用することで、Playground インスタンス内の WordPress UI から行った変更を反映させたプルリクエストを作成できます。また、そのテーマに変更を加えて zip ファイルをエクスポートすることもできます。
このワークフローを使用するには、Create Block Theme プラグインを Playground インスタンスにインストールして有効化する必要があることに注意してください。
詳細については、Playground について > ビルド > ブロック テーマで行った変更を保存し、GitHub プルリクエストを作成する を確認してください。