Add support for the WordPress.org plugin preview #298
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of the Change
WordPress.org recently launched support for plugin previews utilizing the WordPress Playground feature. Plugins wanting to take advantage of this need to opt in by setting up a
blueprint.json
file that configures how the preview should load. This PR adds in that file that does the following:In order to actually test the restriction, you'll have to log out and then on the login screen, click on the
Go to my WordPress website
. At this point you should see the restriction message.Note that this PR is targeted to
trunk
so we can take advantage of our Plugin Asset Update Action to deploy these changes without having to push out a new release. This won't work though until 10up/action-wordpress-plugin-asset-update#54 is released.Also note once these changes are on .org, the preview button will need to be enabled in a test state. Once verified as working, we can enable it for all users.
How to test the Change
The WordPress Playground allows you to spin up a new environment directly through the URL, by going to
https://playground.wordpress.net/#
and pasting your JSON config after the#
. In this case, the URL should be: https://playground.wordpress.net/#{%20%22$schema%22:%20%22https://playground.wordpress.net/blueprint-schema.json%22,%20%22landingPage%22:%20%22\/wp-admin\/options-reading.php%22,%20%22preferredVersions%22:%20{%20%22php%22:%20%227.4%22,%20%22wp%22:%20%22latest%22%20},%20%22phpExtensionBundles%22:%20[%22kitchen-sink%22],%20%22steps%22:%20[%20{%20%22step%22:%20%22login%22,%20%22username%22:%20%22admin%22,%20%22password%22:%20%22password%22%20},%20{%20%22step%22:%20%22installPlugin%22,%20%22pluginZipFile%22:%20{%20%22resource%22:%20%22wordpress.org\/plugins%22,%20%22slug%22:%20%22restricted-site-access%22%20},%20%22options%22:%20{%20%22activate%22:%20true%20}%20},%20{%20%22step%22:%20%22setSiteOptions%22,%20%22options%22:%20{%20%22rsa_options%22:%20{%20%22approach%22:%203,%20%22allowed%22:%20[%20%22127.0.0.1%22%20],%20%22comment%22:%20[%20%22Example%20of%20an%20allowed%20IP%20address%22%20]%20},%20%22rsa_activation_version%22:%20%227.5.0%22%20}%20}%20]%20}Changelog Entry
Credits
Props @dkotter
Checklist: