如果您还没有注意到,WordPress Playground 是一项令人惊叹的功能,它允许任何人在其浏览器中安全地运行临时的 WordPress 安装。它使用 WASM 在您的网络浏览器内完整运行 WordPress 安装——包括 PHP、数据库等所有内容。无需服务器,无需安装任何东西。
Playground 一直以来都支持从插件目录加载任何插件或主题;方法如下。
插件预览按钮
当由插件开发者启用时,插件预览功能会在插件目录中的插件上添加一个方便的按钮。该按钮将用户带到已安装该插件的 Playground 中。它就在下载按钮旁边。
预览按钮默认不显示;必须显式启用。开发者可以使用蓝图文件来配置预览环境并安装依赖项(例如其他插件和主题)。
启用插件预览
要使插件预览按钮对所有用户显示,需要满足以下两个条件:
- 必须在插件的
assets文件夹中的blueprints子目录中提供一个有效的blueprint.json文件。 - 必须由提交者从插件的高级视图中将插件预览设置为“公开”。
如果存在有效的 blueprint.json 文件,则预览按钮仅对插件提交者显示。在这种情况下,它将如下所示:

它被称为“测试预览”,原因就在于此:允许插件提交者在 Playground 环境中测试其插件,并决定是否将其轻松提供给公众。
蓝图
蓝图是用于设置 WordPress Playground 实例的 json 文件。
它们可用于指定 PHP 和 WP 版本、着陆页面以及(最重要的是)一系列自动化步骤,例如登录、安装和激活插件和主题。
您插件的蓝图应使用 subversion 提交到 assets/blueprints/blueprint.json 文件夹中。最初仅支持一个蓝图文件,但我们预计未来将允许多个文件。
这是一个简单的 blueprint.json 文件的示例,您可以将其作为起点:
{
"landingPage": "/wp-admin/edit.php",
"preferredVersions": {
"php": "7.4",
"wp": "5.9"
},
"phpExtensionBundles": [
"kitchen-sink"
],
"steps": [
{
"step": "login",
"username": "admin",
"password": "password"
}
]
}此处使用的功能包括:
landingPage,指定预览加载时用户将到达的页面的URL。preferredVersions,指定 PHP 和 WordPress 的版本。phpExtensionBundles,在此情况下指定我们希望大多数常见的 PHP 扩展可用(kitchen-sink)。steps,告诉 Playground 在显示着陆页面之前要执行的操作。在此情况下,它将简单地登录用户到wp-admin。
这是一个更高级的 blueprint.json 示例,展示了您可以使用的一些功能来为用户创建丰富的演示环境:
{
"landingPage": "/wp-admin/post.php?post=5&action=edit",
"preferredVersions": {
"php": "7.4",
"wp": "5.9"
},
"phpExtensionBundles": [
"kitchen-sink"
],
"steps": [
{
"step": "login",
"username": "admin",
"password": "password"
},
{
"step": "installPlugin",
"pluginZipFile": {
"resource": "wordpress.org\/plugins",
"slug": "my-imaginary-plugin-dependency"
},
"options": {
"activate": true
}
},
{
"step": "installPlugin",
"pluginZipFile": {
"resource": "wordpress.org\/plugins",
"slug": "my-imaginary-plugin"
},
"options": {
"activate": true
}
},
{
"step": "installTheme",
"themeZipFile": {
"resource": "wordpress.org\/themes",
"slug": "my-imaginary-theme"
}
},
{
"step": "setSiteOptions",
"options": {
"some_required_option_1": "your_favorite_values",
"some_required_option_2": "your_favorite_values"
}
},
{
"step": "runPHP",
"code": "<?php require_once 'wordpress/wp-load.php'; wp_insert_post(array('post_title' => 'wp-load.php required for WP functionality', 'post_status' => 'publish')); ?>"
}
]
}使用生成的蓝图文件
您可能会在插件页面上看到类似此处的通知:
您的插件目前还没有用于用户预览的蓝图文件。如果您想启用预览,请按照以下步骤创建蓝图。
1. 在 Playground 中测试您的插件。
2. 修复阻止插件在 Playground 中运行的任何错误。
3. 下载 blueprint.json
4. 将您的蓝图提交到 svn。
测试链接将使用自动生成的蓝图文件加载您的插件到 Playground 中,并带有一些默认配置值和步骤。下载 blueprint.json链接允许您下载该自动生成的 blueprint.json 文件,然后您可以在需要时对其进行修改,并在您的插件准备好进行 Playground 预览时提交到 Subversion。
将蓝图提交到 Subversion
您必须将 blueprint.json 文件提交到插件的 assets 文件夹,命名如下:
/assets/blueprints/blueprint.json