X-comment from +make.wordpress.org/project: Comment on WordPress Credits Updates
Monthly Archives: June 2026
Playground Meetings Summaries – May 2026
This post covers the two Playground meetings held in May 2026. These are biweekly chats where contributors working on WordPress Playground gather to discuss updates, ongoing work, and plans for current and future releases. All are welcome to join.
Meeting โ May 8, 2026
Facilitator: @fellyph
Announcements
- The WordCamp Asia 2026 talks are now available on WordPress.tv, including WordPress Playground + AI: Building Autonomous Testing Pipelines.
- The team made the PR Preview documentation and GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โpull requestโ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ Action guidance more AI-friendly, helping coding agents implement the feature more reliably. Thanks to @annezazu for feedback and support, and to @zieladam for the implementation work.
- WordCamp Europe 2026 in Krakรณw will include Playground talks, including Whatโs new in WordPress Playground? and @muryamsultanaโs session, Bug report to repro in 60 seconds with Playground.
- The Playground badge now counts 58 contributors. The most recent badge recipient mentioned in the meeting was @nilovelez, who contributed Spanish translations for My WordPress pages.
- Since April 10, 2026, 35 pull requests have been merged into the Playground project.
Updates by area
Website
Website updates focused on the rollout and refinement of the new <php-snippet> experience. Snippets are now embeddable and editable, with support for expected output and non-runnable examples. The team also reduced loading flicker, fixed execution-related UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think โhow are they doing thatโ and less about what they are doing. errors, improved Blueprint URLURL A specific web address of a website or web page on the Internet, such as a websiteโs URL www.wordpress.org handling, updated PR Preview documentation, improved AI discoverability, and refined site-management UXUX UX is an acronym for User Experience - the way the user uses the UI. Think โwhat they are doingโ and less about how they do it..
PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/index.php-WASM
PHP-WASM work focused on making custom PHP extensions a first-class capability. Updates added extension build workflows, manifest improvements, support for additional files, exported symbols needed for extension compilation and loading, and tighter runtime constraints for external extensions. Several runtime fixes also improved stability across Node.js and the web, especially around networking, streaming responses, filesystem mounts, and compilation targets.
Blueprints
Blueprints became more flexible and easier to diagnose. The key improvements were support for PHP-only Playground instances without WordPress, support for .git repository URLs, and better surfacing of pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. activation errors.
SQLite
SQLite-related work focused on compatibility and boot reliability. Updates added support needed for the SQLite WASM extension, fixed boot issues for saved SQLite-backed sites, and registered an updated SQLite build for PHP 5.2 environments.
CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress.
CLI updates focused on reliability, configurability, and developer ergonomics. The team improved test stability, added a worker-thread configuration flag, improved certificate handling for network operations, and cleaned up Xdebug-related output behavior.
Documentation and internationalization
Documentation updates included improvements to the PR Preview button documentation, guidance for using @php-wasm/compile-extension, and changes that improve AI discoverability.
Contributor updates
@fellyph connected with the Plugins team at WordCamp Mรกlaga to discuss ways WordPress Playground could support the plugin review process. Follow-up work included a new Query API for the file browser, documentation about using encodeURIComponent with URL fragments, continued migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. of the documentation to the Handbook, and a Brazilian Portuguese translation for My WordPress.
My WordPress is also receiving UI updates. The top Playground bar is being removed, configuration is moving to the bottom left, and previous app options are being moved into the About section.
Meeting โ May 22, 2026
Facilitator: @fellyph
Announcements
- A new post is available on the Playground blog: Run PHP examples anywhere with WordPress Playground.
- @akirk published โWhy My WordPress? Personal software needs a homeโ and is continuing to improve the My WordPress user flow.
- @zieladam shared an experiment exploring more than 400 WordPress Playground UI redesigns.
- The Playground badge now counts 60 contributors.
- Since the previous meeting, 39 pull requests have been merged into the Playground project.
Updates by area
Website
Website changes focused on authentication flow improvements, query and APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. capabilities, documentation, build correctness, and test updates to match newer WordPress behavior.
PHP snippets
PHP snippet work focused on run reliability, UI polish, expected output behavior, documentation, and support for PHP-only or non-runnable snippet modes.
PHP-WASM
PHP-WASM work centered on extension loading, side-module compatibility, browser networking fixes, runtime exports, and package reliability across Node.js and the web.
Blueprints
Blueprint work focused on making configuration steps behave more accurately inside WordPress.
SQLite
SQLite-related work supported extension loading, Markdown and editor integration, and runtime compatibility for native side modules.
CLI
CLI work focused on extension loading, static export tooling, and support for external runtime and editor workflows.
WP-Personal
WP-Personal updates improved app installation UX, dependent-tab behavior, and test stability as external app behavior evolved.
Contributor updates
@fellyph worked on the documentation migration, translation cleanups, MDX components, support for the file browser parameter in Playground, and an investigation into Playground CLI issues. A pull request was also started to add PR Previews to the Plugin Check plugin.
@bpayton continued exploring ways to run real server software in the browser. This work could open up more runtime options for Playground in the future, though there were no specific Playground pull requests to share during this meeting.
Open floor
The team noted that Playground continues to support easier testing for WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and related projects. Following the WordPress 7.0 launch that week, contributors were encouraged to share plugins or projects that could benefit from Playground-powered PR Previews. The AI plugin is already using PR Previews as a straightforward way to support testing.
Contributors were also invited to share recent posts about WordPress Playground and to say hello to the team during WordCamp Europe Contributor Day.
The next Playground chat will be on June 26th in the #playground SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ channel. All are welcome.
wp-now is deprecated: migrate to Playground CLI
@wp-now/wp-now is now deprecated and will not receive future updates. If you use wp-now for local WordPress development, the recommended replacement is @wp-playground/cli. The process took a few months because the Playground team was working to replace all the capabilities from wp-now.
This change is now reflected in the Playground documentation through PR #3767, which documents the migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. path from wp-now to Playground CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. and updates the CLI docs to lead with the new start command for familiar wp-now-style workflows. server command still available for more complex workflows.
Why this change
wp-now helped make local WordPress development fast and portable by running WordPress with the Playground runtime, without Docker, MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com, or ApacheApache Apache is the most widely used web server software. Developed and maintained by Apache Software Foundation. Apache is an Open Source software available for free.. Over the last few years, though, new local development work has moved toward the official Playground CLI.
With the recent implementation of start command, it means the remaining gap has closed: Playground CLI now supports the familiar wp-now behavior and adds more room for customization through the broader WordPress Playground toolchain.
What to use instead
For most local development workflows, use:
npx @wp-playground/cli@latest start
It automatically detects whether the current directory is a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party., theme, wp-content directory, or full WordPress installation. It also persists the site between runs, enables login, and opens the browser by default.
For lower-level control, use:
npx @wp-playground/cli@latest server
The server command is best when you want to define mounts, storage behavior, versions, Blueprints, or automation explicitly. It is also a better fit for CI and scripted development environments.
Migration guide
Most wp-now commands map directly to @wp-playground/cli start:
| wp-now | Playground CLI |
|---|---|
npx @wp-now/wp-now start | npx @wp-playground/cli@latest start |
npx @wp-now/wp-now start --path=./plugin | cd ./plugin && npx @wp-playground/cli@latest start |
npx @wp-now/wp-now start --wp=6.8 --php=8.3 | npx @wp-playground/cli@latest start --wp=6.8 --php=8.3 |
npx @wp-now/wp-now start --blueprint=./blueprint.json | npx @wp-playground/cli@latest start --blueprint=./blueprint.json |
npx @wp-now/wp-now start --skip-browser | npx @wp-playground/cli@latest start --skip-browser |
npx @wp-now/wp-now start --reset | npx @wp-playground/cli@latest start --reset |
1. Replace the package name
If you currently run:
npx @wp-now/wp-now start
Run this instead:
npx @wp-playground/cli@latest start
You do not need to install the package globally. Using npx keeps your workflow on the latest Playground CLI release.
2. Run start from the project directory
The main workflow difference is how saved sites are associated with local paths.
With wp-now, --path=./plugin selected both the project and the saved site. With Playground CLI, start saves the site for the current working directory. For the closest match to wp-now --path, change into the project directory first:
cd ./plugin
npx @wp-playground/cli@latest start
start --path=./plugin still mounts that folder, but the saved site belongs to the directory where the command was run. If you want one persistent site per project, run the command from that project directory.
3. Keep version and Blueprint flags
Common version and Blueprint flags continue to work:
npx @wp-playground/cli@latest start --wp=6.8 --php=8.3
npx @wp-playground/cli@latest start --blueprint=./blueprint.json
Use --skip-browser if you do not want the browser to open automatically:
npx @wp-playground/cli@latest start --skip-browser
Use --reset to delete the stored site and start fresh:
npx @wp-playground/cli@latest start --reset
4. Understand persistence
When Playground CLI creates WordPress for you, start stores the site in:
~/.wordpress-playground/sites/<path-hash>/
The <path-hash> is derived from the commandโs current working directory. This keeps projects isolated from one another while preserving the site between CLI runs.
If you run Playground CLI on a full WordPress directory, or mount a directory at /wordpress, that directory becomes the WordPress site and changes are written there instead.
What this means for existing wp-now users
Existing wp-now workflows should move to Playground CLI. The migration is intentionally small for common use cases: replace the package, use start, and run it from the project directory you want to persist.
For more advanced workflows, Playground CLI offers a larger surface area than wp-now, including server, run-blueprint, build-snapshot, custom mounts, and deeper configuration options.
See the updated documentation:
PR Preview with WordPress Playground: What changes in version 3 of the GitHub Action
Reviewing a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. or theme Pull Request has always carried a bit of friction. To actually test the change, someone had to pull the branch, spin up a local WordPress, and activate the code by hand. That is exactly why the WordPress Playground PR Preview GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โpull requestโ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ Action exists: it adds a โPreview in WordPress Playgroundโ button straight to the PR. As a result, any reviewer opens the environment with the code already applied in the browser, without installing anything.
The action already existed in v2. However, version 3 underwent an important simplification: the manual โglueโ that each project had to write for builds was replaced by ready-made, reusable workflows. In this post, therefore, Iโll cover what the action does, why itโs worth it, how to set it up in the two possible scenarios, practical examples, and the step-by-step path to migrate from v2.
What the WordPress Playground PR Preview action does
In short, it publishes a preview link on the Pull Request. That link points to a WordPress Playground instance, in other words, a full WordPress running through WebAssembly (WASM) in the browser of whoever clicks it. Playground boots clean, installs the plugin or theme from the PR branch, and automatically activates everything.
The result, then, is a disposable, isolated environment created on demand that mirrors the state of that branch exactly.
Why use it
- One-click testing: the reviewer needs no local setup and no WordPress installed.
- Works with forks: external contributions get a preview without exposing repository secrets.
- Plugin, theme, or both: you can create scenarios that combine several artifacts.
- Handles complex builds: projects that rely on Composer, npm, or Vite are supported too, through dedicated workflows.
- Real sandbox: the code runs in the userโs browser, isolated, without touching any server.
Scenario 1: no build step
This is the simplest path. Use it when the files committed to the repository run as-is, without compilation, for example, a plain PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/index.php plugin.
First, create .github/workflows/pr-preview.yml:
name: PR Preview
on:
pull_request:
types: [opened, synchronize, reopened, edited]
jobs:
preview:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: WordPress/action-wp-playground-pr-preview@v3
with:
plugin-path: .
github-token: ${{ secrets.GITHUB_TOKEN }}
For a theme, swap plugin-path: . for theme-path: .. Besides that, the permissions blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. is mandatory: the action needs pull-requests: write to write the link on the PR and contents: read to read the code.
Main inputs of the direct action
| Input | Required | Default | Purpose |
|---|---|---|---|
plugin-path | one of four | โ | Relative path to the plugin directory |
theme-path | one of four | โ | Relative path to the theme directory |
blueprint | one of four | โ | Custom Blueprint JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. (string) |
blueprint-url | one of four | โ | URLURL A specific web address of a website or web page on the Internet, such as a websiteโs URL www.wordpress.org to a hosted Blueprint |
mode | no | append-to-description | append-to-description or comment |
github-token | yes | โ | Token with PR write access |
playground-host | no | https://playground.wordpress.net | Base Playground URL |
You provide one of plugin-path, theme-path, blueprint, or blueprint-url. The mode, in turn, decides whether the link goes into the PR description body or as a comment.
Scenario 2: with a build step
When the preview depends on compilation (npm run build, Composer, etc.), v3 uses two workflows that talk to each other. First, one builds the untrusted PR code with read-only permissions. Then, the other publishes the result from the default branch, with write permissions, without ever executing the PR code. The only point of contact between them is the generated ZIP file โ and that is precisely what keeps the flow secure.
The build workflow lives in .github/workflows/pr-preview-build.yml:
name: PR Preview - Build
on:
pull_request:
types: [opened, synchronize, reopened, edited]
jobs:
build:
uses: WordPress/action-wp-playground-pr-preview/.github/workflows/preview-build.yml@v3
with:
artifacts: my-plugin=build/my-plugin.zip
node-version: '20'
build-command: |
npm ci
npm run build:plugin-zip
The publish workflow, in turn, lives in .github/workflows/pr-preview-publish.yml:
name: PR Preview - Publish
on:
workflow_run:
workflows: ["PR Preview - Build"]
types: [completed]
permissions:
contents: write
pull-requests: write
jobs:
publish:
permissions:
contents: write
pull-requests: write
uses: WordPress/action-wp-playground-pr-preview/.github/workflows/preview-publish.yml@v3
with:
kind: plugin
The artifacts field uses the name=path/to/file.zip format โ one per line, if you have several. The kind in publish, meanwhile, tells whether the artifact is a plugin or a theme. Besides that, the reusable workflows take care of automatically creating a ci-artifacts prerelease to host the ZIPs publicly. After all, Playground needs to download the asset, so it canโt be in a draft release.
Build workflow inputs
| Input | Required | Purpose |
|---|---|---|
artifacts | yes | name=path.zip entries, one per line |
build-command | yes | Shell commands that produce the ZIPs |
node-version | no | Runs actions/setup-node@v4 if set |
php-version | no | Runs shivammathur/setup-php@v2 if set |
fetch-depth | no | Passed to actions/checkout@v4 (default: 1) |
Practical example: custom Blueprint
Sometimes you need more than โinstall and activateโ. Say, a plugin from the PR running alongside WooCommerce and already logged in as admin. In that case, use a Blueprint. Itโs a JSON recipe that describes the siteโs initial state.
- uses: WordPress/action-wp-playground-pr-preview@v3
with:
blueprint: |
{
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
"preferredVersions": { "php": "8.3", "wp": "6.6" },
"steps": [
{ "step": "installPlugin",
"pluginData": {
"resource": "git:directory",
"url": "https://github.com/${{ github.repository }}.git",
"ref": "${{ github.event.pull_request.head.ref }}",
"path": "/"
},
"options": { "activate": true } },
{ "step": "installPlugin",
"pluginData": { "resource": "wordpress.org/plugins", "slug": "woocommerce" },
"options": { "activate": true } },
{ "step": "login", "username": "admin" }
]
}
github-token: ${{ secrets.GITHUB_TOKEN }}
This Blueprint pins PHP 8.3 and WordPress 6.6, installs the code from the PR branch, adds WooCommerce from the official repository, and hands over an already-logged-in environment. For build scenarios, moreover, you can reference the generated ZIPs inside the Blueprint using the {{ARTIFACT_URL:<name>}} placeholder. That way, v3 resolves the public artifact URL for you.
Migrating from v2 to v3
In practice, the migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. varies with the complexity of your setup.
Simple plugins and themes (no build): here, almost nothing changes. Switch the action reference from @v2 to @v3 and keep the same inputs.
# works the same in v2 and v3
- uses: WordPress/action-wp-playground-pr-preview@v3
with:
plugin-path: .
github-token: ${{ secrets.GITHUB_TOKEN }}
Projects with a build: this is where the real gain is. On v2 you needed a build workflow, plus manual parsing of the artifact name, plus an expose-artifact-on-public-url helper, plus manual Blueprint generation, and still the manual release publishing. v3, by contrast, replaces all of that with the two reusable workflows (preview-build.yml and preview-publish.yml) shown above. The step-by-step, therefore, looks like this:
- Create
pr-preview-build.ymlwith the build workflow template. - Create
pr-preview-publish.ymlwith the publish workflow template. - Define the artifacts in the
artifactsfield (name=pathformat). - Set
kind: pluginorkind: themein publish โ or, alternatively, useblueprintwith{{ARTIFACT_URL:<name>}}placeholders for setups with multiple ZIPs.
Inputs such as artifact-name, artifact-filename, artifact-source-run-id, pr-number, and commit-sha, which existed only for the manual glue, are no longer needed in most cases.
Finally, watch out for the mandatory release cleanup: the change that breaks the most in practice is that draft releases no longer work. After all, Playground canโt download assets from a draft release without authentication. Therefore, if you have ci-artifacts releases in draft, convert them to prerelease or delete them.
Common gotchas
- 404 error when opening the preview:ย the release is probably set asย a draftย instead of aย prerelease. Fix it on the repositoryโs Releases tab.
- Plugin doesnโt show up as installed:ย the ZIP must be extracted to a folder named after the slug. Make sure your build does that. For example:
bash mkdir -p stage/my-plugin && rsync -a ./ stage/my-plugin/ && (cd stage && zip -r ../my-plugin.zip my-plugin) - Build failing when comparing against the base: if you use
git diffagainst the base branch, setfetch-depth: 0in the build workflow. After all, the default checkout brings only the latest commit. - Permission error: the
permissionsblock is missing at the workflow or job level.
Conclusion
If you already used v2 for builds, migrating is worth it: you delete dozens of lines of manual glue and get tested, community-maintained workflows in their place. On the other hand, if you donโt use PR preview in your plugin or theme repository yet, the no-build scenario solves it with a few lines of YAML โ and noticeably improves the experience for whoever reviews code in your project.
The full documentation lives at wordpress.github.io/action-wp-playground-pr-preview. For the more specific cases, also check the detailed migration guide.
WordPress Playground table at Contributor Day WCEU 2026
The WordPress Playground team is excited to be part of Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/ at WordCamp Europe 2026, taking place June 4, 2026, at ICE Krakรณw. Whether youโre a developer, designer, writer, tester, pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. author, translator, marketer, or simply interested in Playground, there will be several ways to get involved.
Read on to find out how to prepare and what to expect at the WordPress Playground table.
Important Times
All times are in Central European Summer Time (CEST).
- 08:30 โ Registration
- 09:15 โ Opening and welcome
- 10:00 โ Contributing to WordPress
- 12:15 โ Group photo
- 12:30 โ Lunch
- 14:00 โ Contributing to WordPress
- 16:30 โ Team summaries and wrap-up
Remote contributors are welcome to join via the #playground and #contributor-day channels on WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.
Meet the Table Leads
Playground team will have three team reps during the event, who will be leading the WordPress Playground table:
In-person table leads
Berislav Grgicak (@berislavgrgicak) will also be supporting the Playground table.
Part of the team will be participating remotely throughout the day, answering questions and supporting contributors in the #playground Slack channel.
WordPress Playground Table Focus
There are many ways to contribute to WordPress Playground depending on your background and comfort level.
- Testing and feedback: Help test Playground features, including PR Previews V3, the new SQLite integration, and tools powered by Playground such as My WordPress.
- WordPress Studio: Help test the new version of WordPress Studio on Linux and provide feedback on the local development experience.
- Blueprints: Help plugin developers create their own Blueprints and enable the Live Preview button for their plugins.
- Documentation: Improve existing docs, suggest new guides, or help make Playground easier to understand for new users and contributors.
- Translations: Playground documentation is currently available in several languages, and translation contributions are always welcome.
- Good first issues: New contributors can start with issues labeled Good First Issue.
- Design, marketing, and product feedback: You donโt need to write code to contribute. Designers, marketers, writers, educators, and site builders can help review the UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think โhow are they doing thatโ and less about what they are doing., improve onboarding, suggest new features, and identify opportunities for clearer communication.
A good quote from Jonathan Bossenger(@psykro):
Remember: itโs โContributor Day,โ not โContribution Day.โ The goal is to find meaningful ways to contribute and help move the project forward. Some work may continue after the event, and thatโs expected. Open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. is iterative.
If youโre not sure where to start, talk to a table lead in person or ask in the #playground Slack channel.
What WordPress Playground Is Building
WordPress Playground lets you run WordPress directly in the browser, without setting up a traditional local server. It helps people test WordPress, try plugins and themes, create demos, review pull requests, and build new contribution workflows with less setup friction.
Some of the key areas contributors may work with include:
- Playground web instance: The public browser-based Playground available at playground.wordpress.net.
- Blueprints: JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. files that define how a Playground instance should be configured, including plugins, themes, content, settings, and setup steps.
- PR Previews: Playground-powered previews that make it easier to test WordPress pull requests directly in the browser.
- SQLite integration: Ongoing work around improving WordPress support for SQLite-powered environments.
- Playground CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress.: A Node.js package that allows contributors and developers to run WordPress locally without Docker, MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com, or ApacheApache Apache is the most widely used web server software. Developed and maintained by Apache Software Foundation. Apache is an Open Source software available for free..
- WordPress Studio integration: Local development workflows powered by Playground, including ongoing testing for Linux support.
- Documentation and translations: Contributor-friendly docs that help more people understand and use Playground across different languages and workflows.
You can learn more in the Playground documentation and the dedicated Contributor Day page.
Prepare at Home
To make the most of Contributor Day, please prepare before arriving. Wi-Fi at large events can be unreliable, and many contributors may be cloning repositories or installing dependencies simultaneously.
For most Playground contribution tasks, you will need:
- A laptop
- A GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โpull requestโ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ account
- A WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ account
- GitGit Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/ installed
- Node.js and npm are installed
- A local copy of the Playground repository
We recommend cloning the Playground repository before Contributor Day:
github.com/wordpress/playground
Docker and Composer are not required for most Playground Contributor Day tasks.
If you want to work with plugin demos or Live Preview support, it may also help to review the Playground Step Library before the event.
Helpful Resources
- WordPress Playground web instance
- Playground documentation
- WordPress Playground Contributor Day page
- Playground Step Library
- GitHub repository: wordpress/playground
- Good First Issues
#playgroundon WordPress Slack#contributor-dayon WordPress Slack
Looking Ahead
At WCEU Contributor Day, weโll focus on testing new features, improving documentation, supporting plugin developers with Blueprints and Live Preview, reviewing the user experience, and helping new contributors find their first meaningful contribution.
Contributors whose pull requests are merged may also be eligible for the WordPress Playground contributor badge on their WordPress.org profile. If youโre interested in Playground but unsure where to begin, join us at the Playground table or ask in the #playground Slack channel.