Skip to main content

Limitations

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

Iframe quirks

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.

Also, JavaScript popup windows originating in the iframe may not be displayed in certain cases.

Pthreads Support

The WebAssembly version of PHP is built without pthreads support, which means you cannot use pcntl_ functions like pcntl_fork() or 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 Support

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.

Fibers

Fibers are a PHP 8.1+ feature that is currently unsupported in Playground. See https://github.com/WordPress/wordpress-playground/blob/9065025043209ce06c9540886567ca5bc0ccfb11/packages/php-wasm/compile/Dockerfile#L484-L493 for more information.