プラグイン開発者のためのプレイグラウンド
WordPress Playgroundは、プラグイン開発者がブラウザ環境で直接プラグインを構築、テスト、展示できる革新的なツールです。
このガイドでは、WordPress Playgroundを使用してプラグイン開発のワークフローを改善し、プラグインを展示するためのライブデモを作成し、プラグインのテストとレビューを簡素化する方法を示します。
情報
WordPress Playgroundを使用して製品を構築、テスト、および起動する方法をAbout Playgroundセクションで発見してください。
プラグインを使用してプレイグラウンドインスタンスを起動する
WordPressテーマディレクトリのプラグイン
WordPress Playgroundを使用すると、WordPressプラグインディレクトリにあるほぼすべてのプラグインをインストールしてアクティブ化した状態で、迅速にWordPressインストールを起動できます。必要なのは、Playground URLにplugin
クエリパラメータを追加し、WordPressディレクトリからプラグインのスラッグを値として使用することだけです。例えば: https://playground.wordpress.net/?plugin=create-block-theme
tip
複数のプラグインをインストールしてアクティブ化するには、インスタンス内でインストールしてアクティブ化したい各プラグインのためにplugin
パラメータを繰り返すことで、クエリパラメータを使用できます。例えば: https://playground.wordpress.net/?plugin=gutenberg&plugin=akismet&plugin=wordpress-seo。
また、BlueprintのinstallPlugin
ステップを設定することで、WordPressプラグインディレクトリから任意のプラグインをロードすることもできます。
{
"landingPage": "/wp-admin/plugins.php",
"login": true,
"steps": [
{
"step": "installPlugin",
"pluginData": {
"resource": "wordpress.org/plugins",
"slug": "gutenberg"
}
}
]
}
[
GitHub リポジトリのプラグイン
GitHub リポジトリに保存されたプラグインは、Blueprints を介して Playground インスタンスにロードすることもできます。
pluginData
プロパティを使用して、Playground インスタンスでロードしたいプラグインを含む .zip
ファイルの場所を指す url
リソース を定義できます。
CORS の問題を回避するために、Playground プロジェクトは、プラグインを含むリポジトリ(またはリポジトリ内のフォルダ)から .zip
を生成できる GitHub プロキシ を提供しています。
情報
GitHub プロキシ は、特定のブランチ、特定のディレクトリ、特定のコミット、または特定の PR からプラグインをロードできるため、GitHub リポジトリからプラグインをロードするための非常に便利なツールです。
たとえば、次の blueprint.json
は、https://github-proxy.com ツールを利用して GitHub リポジトリからプラグインをインストールします:
{
"landingPage": "/wp-admin/admin.php?page=add-media-from-third-party-service",
"login": true,
"steps": [
{
"step": "installPlugin",
"pluginData": {
"resource": "url",
"url": "https://github-proxy.com/proxy/?repo=wptrainingteam/devblog-dataviews-plugin"
}
}
]
}
[
GitHubのファイルまたはGistからのプラグイン
writeFile
とactivatePlugin
のステップを組み合わせることで、Gistに保存されたコードから動的に構築されたプラグインを使用してWP Playgroundインスタンスを起動することもできます。
{
"landingPage": "/wp-admin/plugins.php",
"login": true,
"steps": [
{
"step": "login"
},
{
"step": "writeFile",
"path": "/wordpress/wp-content/plugins/cpt-books.php",
"data": {
"resource": "url",
"url": "https://raw.githubusercontent.com/WordPress/blueprints/trunk/blueprints/custom-post/books.php"
}
},
{
"step": "activatePlugin",
"pluginPath": "cpt-books.php"
}
]
}
情報
ブループリントを使用したプラグインのデモ設定
いくつかのプラグインが有効化されたWordPress Playgroundインスタンスへのリンクを提供する場合、そのPlaygroundインスタンスの初期設定をこれらのプラグインを使用してカスタマイズしたい場合があります。Playgroundの[https://wordpress.github.io/wordpress-playground/blueprints/getting-started]を使用すると、プラグインを読み込んだり有効化したりし、Playgroundインスタンスを構成できます。
tip
ブループリントで作業するためにPlaygroundプロジェクトが提供する便利なツールとリソースは次のとおりです:
- https://github.com/WordPress/blueprints/blob/trunk/GALLERY.mdを確認して、さまざまなセットアップでWordPressサイトを起動するためのWordPress Playgroundの実際のコード例を探索してください。
- https://akirk.github.io/playground-step-library/#ツールは、WordPress Playgroundのブループリントを作成するためにステップをドラッグまたはクリックするための視覚的インターフェースを提供します。独自のステップを作成することもできます!
- https://playground.wordpress.net/builder/builder.htmlツールを使用すると、オンラインでブループリントを編集し、Playgroundインスタンスで直接実行できます。
プロパティとsteps
を通じて、Playgroundインスタンスの初期設定を構成し、プラグインの魅力的な機能と機能を示すために必要なコンテンツと設定を提供できます。
情報
WordPress Playgroundでの素晴らしいデモには、プラグインとテーマのデフォルトコンテンツ(画像やその他のアセットを含む)を読み込む必要があるかもしれません。詳細については、デモ用のコンテンツを提供するガイドを確認してください。
プラグイン
プラグインが他のプラグインに依存している場合、[plugins
]のショートハンドを使用して、必要な他のプラグインと一緒に自分のプラグインをインストールできます。
{
"landingPage": "/wp-admin/plugins.php",
"plugins": ["gutenberg", "sql-buddy", "create-block-theme"],
"login": true
}
ランディングページ
プラグインに設定ビューやオンボーディングウィザードがある場合、[landingPage
]のショートハンドを使用して、読み込み時にPlaygroundインスタンス内の任意のページに自動的にリダイレクトできます。
{
"landingPage": "/wp-admin/admin.php?page=my-custom-gutenberg-app",
"login": true,
"plugins": ["https://raw.githubusercontent.com/WordPress/block-development-examples/deploy/zips/data-basics-59c8f8.zip"]
}
ファイルの書き込み
writeFile
ステップを使用すると、GitHubまたはGistに保存された*.phpファイルからコードを参照して、動的に任意のプラグインファイルを作成できます。
これは、mu-plugins
フォルダーに配置され、読み込み時にコードが自動的に実行されるhttps://raw.githubusercontent.com/wordpress/blueprints/trunk/blueprints/custom-post/books.phpを生成するプラグインの例です:
{
"landingPage": "/wp-admin/",
"login": true,
"steps": [
{
"step": "writeFile",
"path": "/wordpress/wp-content/mu-plugins/books.php",
"data": {
"resource": "url",
"url": "https://raw.githubusercontent.com/wordpress/blueprints/trunk/blueprints/custom-post/books.php"
}
}
]
}
プラグイン開発
Playgroundを使用したローカルプラグインの開発とテスト
ローカル開発環境のプラグインフォルダーから、プラグインが読み込まれ有効化されたPlaygroundインスタンスを迅速にローカルで読み込むことができます。
お好みのコマンドラインプログラムを使用して、プラグインのルートディレクトリから[wp-now
]コマンドを使用します。
Visual Studio Code IDEを使用すると、プラグインのルートディレクトリで作業している間にVisual Studio Code拡張を使用することもできます。
例えば:
git clone git@github.com:wptrainingteam/devblog-dataviews-plugin.git
cd devblog-dataviews-plugin
npx @wp-now/wp-now start
Playgroundインスタンスでのローカル変更を確認し、変更をGitHubリポジトリに直接PRとして作成する
Google Chromeを使用すると、PlaygroundインスタンスをローカルプラグインのコードとプラグインのGitHubリポジトリと同期できます。この接続を使用すると、
- Playgroundインスタンスでローカル変更をライブで確認できます
- 変更をGitHubリポジトリにPRとして作成できます
このワークフローのデモを少し紹介します:
情報
詳細については、Playgroundについて > ビルド > ローカルフォルダーとPlaygroundインスタンスを同期し、GitHubプルリクエストを作成するを確認してください。