Marketplace wp-playground
WordPress Playground for instant browser-based WordPress testing. Use for quick demos, plugin testing, or ephemeral development environments without Docker.
install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/crazyswami/wp-playground" ~/.claude/skills/aiskillstore-marketplace-wp-playground-00aa39 && rm -rf "$T"
manifest:
skills/crazyswami/wp-playground/SKILL.mdsource content
WordPress Playground Skill
Instant WordPress environments in the browser using WebAssembly. Zero setup, no server required.
Quick Start
Browser Access
Visit: https://playground.wordpress.net/
CLI (Node.js)
# Start local Playground server npx @wp-playground/cli server # With custom blueprint npx @wp-playground/cli server --blueprint=./blueprint.json # Specify versions npx @wp-playground/cli server --wp=6.8 --php=8.3
Blueprints
Blueprints are JSON files that define the WordPress environment setup.
Blueprint Structure
{ "$schema": "https://playground.wordpress.net/blueprint-schema.json", "landingPage": "/wp-admin/", "login": true, "preferredVersions": { "php": "8.3", "wp": "latest" }, "phpExtensionBundles": ["kitchen-sink"], "features": { "networking": true }, "steps": [] }
Available Steps
| Step | Purpose | Example |
|---|---|---|
| Install plugin from wp.org | |
| Install theme from wp.org | |
| Update wp_options | |
| Login as user | |
| Execute PHP code | |
| Run WP-CLI command | |
| Create/modify file | |
| Create directory | |
Pre-Built Blueprints
Base Development Blueprint
Full development environment with essential plugins:
{ "$schema": "https://playground.wordpress.net/blueprint-schema.json", "landingPage": "/wp-admin/", "login": true, "preferredVersions": { "php": "8.3", "wp": "latest" }, "steps": [ { "step": "installPlugin", "pluginData": { "resource": "wordpress.org/plugins", "slug": "admin-site-enhancements" }, "options": { "activate": true } }, { "step": "installPlugin", "pluginData": { "resource": "wordpress.org/plugins", "slug": "branda-white-labeling" }, "options": { "activate": true } }, { "step": "installPlugin", "pluginData": { "resource": "wordpress.org/plugins", "slug": "wordpress-seo" }, "options": { "activate": true } }, { "step": "installPlugin", "pluginData": { "resource": "wordpress.org/plugins", "slug": "instant-images" }, "options": { "activate": true } }, { "step": "setSiteOptions", "options": { "blogname": "Development Site", "blogdescription": "WordPress Playground Environment", "permalink_structure": "/%postname%/" } } ] }
WooCommerce Testing Blueprint
{ "$schema": "https://playground.wordpress.net/blueprint-schema.json", "landingPage": "/wp-admin/admin.php?page=wc-admin", "login": true, "preferredVersions": { "php": "8.3", "wp": "latest" }, "steps": [ { "step": "installPlugin", "pluginData": { "resource": "wordpress.org/plugins", "slug": "woocommerce" }, "options": { "activate": true } }, { "step": "installTheme", "themeData": { "resource": "wordpress.org/themes", "slug": "storefront" }, "options": { "activate": true } } ] }
Theme Development Blueprint
{ "$schema": "https://playground.wordpress.net/blueprint-schema.json", "landingPage": "/", "login": true, "preferredVersions": { "php": "8.3", "wp": "latest" }, "steps": [ { "step": "installTheme", "themeData": { "resource": "wordpress.org/themes", "slug": "developer" }, "options": { "activate": true } }, { "step": "installPlugin", "pluginData": { "resource": "wordpress.org/plugins", "slug": "theme-check" }, "options": { "activate": true } }, { "step": "installPlugin", "pluginData": { "resource": "wordpress.org/plugins", "slug": "developer" }, "options": { "activate": true } } ] }
CLI Commands
Basic Usage
# Start with defaults npx @wp-playground/cli server # Custom port npx @wp-playground/cli server --port=3000 # Specific WordPress version npx @wp-playground/cli server --wp=6.7 # PHP version npx @wp-playground/cli server --php=8.2 # Blueprint file npx @wp-playground/cli server --blueprint=./my-blueprint.json # Auto-mount current directory as plugin/theme npx @wp-playground/cli server --auto-mount
Building Snapshots
# Build ZIP snapshot from blueprint npx @wp-playground/cli build-snapshot blueprint.json output.zip # Use snapshot npx @wp-playground/cli server --mount=./output.zip
Directory Mounting
# Mount local plugin npx @wp-playground/cli server \ --mount=/local/plugin:/var/www/html/wp-content/plugins/my-plugin # Mount local theme npx @wp-playground/cli server \ --mount=/local/theme:/var/www/html/wp-content/themes/my-theme
URL Parameters
For quick browser-based testing, use URL parameters:
# Install plugin https://playground.wordpress.net/?plugin=woocommerce # Install multiple plugins https://playground.wordpress.net/?plugin=woocommerce&plugin=yoast-seo # Install theme https://playground.wordpress.net/?theme=astra # Specific versions https://playground.wordpress.net/?wp=6.7&php=8.3 # Go to admin https://playground.wordpress.net/?mode=seamless&login=yes # Use blueprint URL https://playground.wordpress.net/?blueprint-url=https://example.com/blueprint.json
JavaScript API
For programmatic control:
import { startPlayground } from '@wp-playground/client'; const playground = await startPlayground({ iframe: document.getElementById('wp-frame'), blueprint: { landingPage: '/wp-admin/', login: true, steps: [ { step: 'installPlugin', pluginData: { resource: 'wordpress.org/plugins', slug: 'woocommerce' }, options: { activate: true } } ] } }); // Run WP-CLI commands const result = await playground.run({ step: 'wp-cli', command: 'plugin list' }); console.log(result);
Use Cases
Quick Plugin Testing
- Write blueprint with plugin to test
- Run
npx @wp-playground/cli server --blueprint=./test-blueprint.json - Test in browser
- Close when done (no cleanup needed)
Theme Preview
- Mount local theme directory
- Make changes
- See instant updates in browser
- No server restart needed
Client Demos
- Create blueprint with client's preferred setup
- Share URL with blueprint parameter
- Client sees instant demo
- No hosting required
Plugin Development
- Use
to mount current directory--auto-mount - Changes reflect immediately
- Debug with browser tools
- Export snapshot for sharing
Limitations
- Ephemeral: Data lost when browser closes (unless exported)
- Performance: Slower than native PHP (runs in WebAssembly)
- Networking: Limited external HTTP requests
- File Storage: Browser storage limits apply
- No Email: Email sending not supported
- No Cron: WP-Cron runs on page load only
Playground vs Docker
| Feature | Playground | Docker |
|---|---|---|
| Setup time | Instant | 2-5 min |
| Persistence | Temporary | Permanent |
| Performance | Slower | Faster |
| Server required | No | Yes |
| Use case | Testing, demos | Development |
| Networking | Limited | Full |
| No | Yes (with SMTP) | |
| WP-CLI | Limited | Full |
Use Playground for: Quick testing, demos, client previews, plugin trials
Use Docker for: Full development, production-like testing, persistent data
Templates Location
Blueprints are in:
~/.claude/skills/wp-playground/blueprints/
- Standard development setupbase.json
- E-commerce testingwoocommerce.json
- Theme developmenttheme-dev.json
Related Skills
- wp-docker: Full Docker development environment
- white-label: Plugin configuration for branding
- wordpress-admin: Content and settings management