ブループリントデータ形式
ブループリント JSON ファイルには、Playground インスタンスを定義するために使用する様々なプロパティを含めることができます。最も重要なプロパティについては以下で詳しく説明します。
以下に、それらの多くを使用する例を示します。
{
"landingPage": "/wp-admin/",
"preferredVersions": {
"php": "8.3",
"wp": "6.5"
},
"features": {
"networking": true
},
"steps": [
{
"step": "login",
"username": "admin",
"password": "password"
}
]
}
JSON スキーマ
JSON ファイルの記述は面倒で、間違いやすいものです。Playground では、エディタで自動補完と検証を利用できるJSON スキーマファイルを提供しています。$schemaプロパティを以下のように設定するだけです。
{
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
}
ランディングページ
landingPage プロパティは、ブループリント実行後に Playground にどの URL へ移動するかを指定します。これは特にテーマやプラグインのデモを作成する際に便利なツールです。多くの場合、サイトエディタで Playground を起動したり、投稿エディタで特定の投稿を開いたりする必要があるでしょう。必ず相対パスを使用してください。
{
"landingPage": "/wp-admin/site-editor.php",
}
推奨バージョン
preferredVersions プロパティは、優先する PHP および WordPress のバージョンを宣言します。以下のプロパティを含めることができます。
php(文字列): 指定された PHP バージョンを読み込みます。7.0、7.1、7.2、7.3、7.4、8.0、8.1、8.2、8.3、8.4、latestが使用できます。7.4.1などのマイナーバージョンはサポートされていません。wp(文字列): 指定された WordPress バージョンを読み込みます。最新の 4 つのメジャー WordPress バージョンが使用できます。2024 年 6 月 1 日時点では、6.2、6.3、6.4、6.5が使用できます。汎用値としてlatest、nightly、betaも使用できます。WordPress のプレリリース版を使用する場合、betaはリリースサイクルの最新のベータ版またはリリース候補版 (ベータ版または RC 版) を読み込みます。
{
"preferredVersions": {
"php": "8.0",
"wp": "6.5"
},
}
特徴
features プロパティを使用して、Playground インスタンスの特定の機能をオンまたはオフにすることができます。このプロパティには以下のプロパティが含まれます。
networking: デフォルトはtrueです。Playground のネットワークサポートを有効または無効にします。有効にすると、wp_safe_remote_getなどの WordPress 関数は、実際にはfetch()を使用して HTTP リクエストを送信します。無効にすると、代わりに即座に失敗します。ユーザーがプラグインやテーマをインストールできるようにするには、このプロパティを有効にする必要があります。
{
"features": {
"networking": false
},
}
追加ライブラリ
Playground インスタンスに追加のライブラリをプリロードできます。以下のライブラリがサポートされています。
wp-cli: Playground の WP-CLI サポートを有効にします。これを含めると、起動時に WP-CLI がインストールされます。含めない場合、JS API を使用して WP-CLI コマンドを実行しようとするとエラーメッセージが表示されます。ブループリントにwp-cliステップが含まれている場合、WP-CLI はデフォルトでインストールされます。
{
"extraLibraries": [ "wp-cli" ],
}
手順
おそらく最も強力なプロパティである steps を使うと、Playground インスタンスにプリインストールされたテーマ、プラグイン、デモコンテンツなどを設定できます。次の例では、専用のユーザー名とパスワードでユーザーをログインさせ、Gutenberg プラグインをインストールして有効化します。steps の詳細
{
"steps": [
{
"step": "login",
"username": "admin",
"password": "password"
},
{
"step": "installPlugin",
"pluginData": {
"resource": "wordpress.org/plugins",
"slug": "gutenberg"
}
},
]
}