WordPress Playground has a few limitations that you should be aware of.
If you are a user
You can't access the Plugins or Themes Directory in the browser
The web version of WordPress does not support network connections, so the plugin directory in wp-admin is not available. However, you can still upload plugins and open them with "?plugin=coblocks" or a similar query string.
You can track the progress of adding network support in the browser at https://github.com/WordPress/wordpress-playground/issues/85.
When you refresh the page, you'll lose anything you did (unless you export it)
In the web version of WordPress Playground, all database changes and uploads are gone once the page is refreshed. Preserving them would be useful for courses, technical demos, even sharing a link to your changes.
Be sure to export your work before you close the page.
You can track the progress of support for persisting the changes at https://github.com/WordPress/wordpress-playground/issues/19
If you are a developer
WordPress is rendered in an iframe, which makes it hard to correctly handle
target="_top" in links. This means that clicking on
<a target="_top">Click here</a> may reload the main browser tab.
The WebAssembly version of PHP is built without pthreads support, which means you cannot use
pcntl_ functions like
pcntl_exec(). Most of the time, you don't need them, but there are a few
wp-cli commands and a few corner-cases in PHPUnit tests that use them.
You can track the progress of adding pthreads support at https://github.com/WordPress/wordpress-playground/issues/347.
XDebug is not supported in the WebAssembly version of PHP. You can track the progress of adding XDebug support at https://github.com/WordPress/wordpress-playground/issues/314.
Known unsupported PHP Functions
popen('', 'w')in the
popen('', 'r')works fine.