Skip to main content

Query API

WordPress Playground exposes a simple API that you can use to configure the Playground in the browser.

It works by passing configuration options as query parameters to the Playground URL. For example, to install the pendant theme, you would use the following URL:

https://playground.wordpress.net/?theme=pendant

You can go ahead and try it out. The Playground will automatically install the theme and log you in as an admin. You may even embed this URL in your website using an <iframe> tag:

<iframe src="https://playground.wordpress.net/?theme=pendant"></iframe>

Available options

OptionDefault ValueDescription
php8.0Loads the specified PHP version. Supported values: 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2, latest
wplatestLoads the specified WordPress version. Supported values: 5.9, 6.0, 6.1, 6.2, 6.3, latest, nightly
pluginInstalls the specified plugin. Use the plugin name from the plugins directory URL, e.g. for a URL like https://wordpress.org/plugins/wp-lazy-loading/, the plugin name would be wp-lazy-loading. You can pre-install multiple plugins by saying plugin=coblocks&plugin=wp-lazy-loading&…. Installing a plugin automatically logs the user in as an admin
themeInstalls the specified theme. Use the theme name from the themes directory URL, e.g. for a URL like https://wordpress.org/themes/disco/, the theme name would be disco. Installing a theme automatically logs the user in as an admin
url/wp-admin/Load the specified initial page displaying WordPress
modeseamlessDisplays WordPress on a full-page or wraps it in a browser UI
lazyDefer loading the Playground assets until someone clicks on the "Run" button
login1Logs the user in as an admin
gutenberg-prLoads the specified Gutenberg Pull Request
storageSelects the storage for Playground: temporary gets erased on page refresh, opfs-browser is stored in the browser, and opfs-host is stored in the selected directory on a local computer. The last two protect the user from accidentally losing their work upon page refresh.

For example, the following code embeds a Playground with a preinstalled Gutenberg plugin, and opens the post editor:

<iframe src="https://playground.wordpress.net/?plugin=gutenberg&url=/wp-admin/post-new.php&mode=seamless"> </iframe>