WordPress / wordpress-playground

Run WordPress in the browser via WebAssembly PHP
https://w.org/playground/
GNU General Public License v2.0
1.61k stars 240 forks source link

Docs: Guide "WordPress Playground for Theme Developers" #1663

Open juanmaguitar opened 1 month ago

juanmaguitar commented 1 month ago

As part of https://github.com/WordPress/wordpress-playground/pull/1602 there are plans to create a guides section where specific guides to tackle specific needs can be added to the docs.

Screenshot 2024-07-31 at 15 52 32

To inaugurate this "Guides" section, I think a "WordPress Playground for Theme Developers" guide could be a good candidate. These are some of the ideas I think could be included as guidance for theme developers to leverage WordPress Playground for their work.

Playground for Theme Developers

see blueprint.json ``` { "$schema": "https://playground.wordpress.net/blueprint-schema.json", "landingPage": "/wp-admin/post.php", "preferredVersions": { "php": "8.0", "wp": "beta" }, "features": { "networking": true }, "steps": [ { "step": "installTheme", "themeZipFile": { "resource": "url", "url": "https://github-proxy.com/proxy/?repo=wordpress-juanmaguitar/tt4-dh-alternatives-custom-blocks&branch=main" }, "options": { "activate": true } }, { "step": "login", "username": "admin", "password": "password" } ] } ```
see blueprint.json ``` { "$schema": "https://playground.wordpress.net/blueprint-schema.json", "preferredVersions": { "php": "8.3", "wp": "latest" }, "features": { "networking": true }, "steps": [ { "step": "login" }, { "step": "installTheme", "themeZipFile": { "resource": "url", "url": "https://raw.githubusercontent.com/wptrainingteam/tt4-book-reviews/master/_playground/tt4-book-reviews.zip" }, "options": { "activate": true } }, { "step": "runPHP", "code": "query('delete from wp_posts');" }, { "step": "importWxr", "file": { "resource": "url", "url": "https://raw.githubusercontent.com/wptrainingteam/tt4-book-reviews/master/_playground/site-content.xml" } } ] } ```

Which key ideas should be reflected in this guide for Theme Developers? cc: @richtabor @ndiego @justintadlock @bph @mikachan

richtabor commented 1 month ago

Which key ideas should be reflected in this guide for Theme Developers?

When thinking about blueprints for themes, we should consider all the small parts that pull a theme demo together in full. Like setting show_on_front, assigning the page_on_front and page_for_posts, site logo (if it's possible), importWxr best practices, etc. Also installing related plugins (like blocks that a theme may leverage).

I did this for my blog's theme: https://github.com/richtabor/kanso/blob/main/blueprint.json (but not logo yet, it's not super clear the easiest way to do that).

Basically setting up a demo site only with playground.

bph commented 1 month ago

There is also a dev blog article in the works. The issue has a few discussion points. How to build a theme demo with WP Playground blueprints. It's on my to-do list for September.

bph commented 1 month ago

The Recap Hallway Hangout: Theme Building with Playground, Create-block-theme plugin, and GitHub has a video and some instructions on how to use Playground, CBT and GItHub for version control.

adamziel commented 1 month ago

Surfacing:

Major points:

CCing @beafialho @mikachan @vcanales

adamziel commented 1 month ago

Here's a Playground-based theme development workflow:

https://github.com/user-attachments/assets/907c6bce-f169-4ad5-aef7-ea49cfba91b8