Learn
Learn copied to clipboard
Course: A Developers Guide To Block Theme Development - Part 1
IMPORTANT
This course depends on the completion of Create a Custom Block Theme #1
Ideally that course should be completed before tackling any lesson related to this course
Please reach out to @jonathanbossenger (Jonathan Bossenger) in the #training team Slack if you would like to help with this course.
Needs Assessment Statement
A course about extending a low-code block theme should exist because intermediate or advanced theme developers will want to learn how to tackle more technical challenges when developing block themes.
This is part 1 of this course, which will cover block theme development fundamentals
Target Audience
Suzie is a theme developer who, before the advent of block themes, has created a number of free themes for WordPress.org, commercial themes that she sells on a theme marketplace, and a few custom themes for specific clients. With the advent of the WordPress block editor, and the ability to create themes from the Site Editor, she wants to take her experience as a classic theme developer and learn how to build custom themes using blocks.
Suzie has watched a few online tutorials on Block theme fundamentals OR completed the Create a Block Theme (Low-Code) - Course OR read the relevant sections in the handbook on Block Themes and understands the fundamentals of block themes, but can see the limitations of a block theme that’s only created in the Site Editor, and wants to understand how to extend a custom block theme beyond those limitations.
Course Objective
Intermediate and advanced developers will be able to extend the low code theme created in the Create a Block Theme (Low-Code) - Course, by understanding the underlying technologies better, and add advanced features like custom templates and template parts, custom fonts, images, custom styles etc.
Outline #
Module 1: Recap of Create a Block Theme (Low-Code)
- [ ] #868
- [ ] #869
- [ ] #870
- [ ] #955
Module 2: Building Your Site Structure in the Editor
- [ ] #968
- [ ] #969
- [ ] #963
- [ ] #964
Module 3: Saving Site Editor Changes to the Database
- [ ] #875
- [ ] #876
- [ ] #877
Module 4: Creating Custom Templates and Template Parts
- [ ] #962
- [ ] #885
- [ ] #886
Project Planning
| Module | Status | ETA |
|---|---|---|
| Recap of Create a Block Theme (Low-Code) | Done | 16/09 |
| Building Your First Theme Templates in the Editor | Done | 23/09 |
| Saving Site Editor Changes to the Database | Done | 30/09 |
| Creating Custom Templates and Template Parts | Done | 14/10 |
- Draft – module content is complete, some self-review/screenshots are still needed
- In Progress – module is being worked on
- Ready – module is ready to create
- Done – module is complete and ready for review
Status update post - https://make.wordpress.org/training/2022/07/15/block-theme-development-course-update/
Draft course outline in Google doc format. Next I will turn these into separate issues
https://docs.google.com/document/d/1WRiuf7FP5bKC5oAZc65TqAH0d6dOJh5OKT_y8jxI8Ac/edit?usp=sharing
Can you make it public so people can read it?
Apologies @caraya it was moved to a public folder, but it seems something went wrong. Can you access it now?
Yes, I can read it OK now. Thanks 😃
Update - lesson plan GitHub issues created and Course Outline updated on this ticket! 🎉
Hi @caraya
Thanks for your feedback on the Google Doc outline. I've replied to any questions, and asked a few clarifying questions of my own.
Added Needs Assessment Statement and Target Audience to the course outline in the ticket description.
@westnz @wparasae when you have a moment, I'd appreciate it if you had any feedback on those two items
I like the needs assessment statement; agree that is helpful!
Target audience is creatively done! I like that you have described the intended user. It's informative and made me smile! One option for change / addition might be to create a bulleted skills list to capture the moment in time she's in with detail. For example, Suzie has developed themes in the past, so she already knows:
-How to code PHP in functions files and use text editors -Hooks, actions, and other developer vocabulary I don't know because I am not a developer ahaha -What clients want from a well-designed theme.
Suzie may not know... -Where PHP might be necessary in block themes or useful -What clients want from a block theme
I think a bulleted list like this can pinpoint a moment in time, and allow us to link to supplementary information to help fill gaps for intermediate developers. :) Just a thought though, not a necessity!
@jonathanbossenger Your Needs Assessment Statement and Target Audience look solid.
I have one concern.
The outline makes this course dependent on Create a custom block theme but targets a different audience for this course.
I'm not sure how well this works out if Peter, a designer with Figma experience who has completed the prerequisite course but who is still not comfortable with editing JSON files and with limited understanding of blocks and patterns decides to go ahead and take the course anyways?
@westnz, @wparasae am I reading too much into this? What do you think?
@caraya That is a fair point, but I assume there will always be certain gaps in knowledge for some folks to bridge. Peter, from your example, will probably need to upskill in a few areas as an intermediate or advanced theme developer before continuing with the second course. Some developers might not even need to complete the first course and could jump straight into the second. I therefore don't think this is something to be too concerned about as the first course provides scaffolding for the second. 😃
Course skeleton created in Sensei on Learn.
I have decided to try and build the content publicly, by using a separate GitHub repository in my personal account. I am doing this for a few reasons:
- It allows content creation in public, as opposed to Sensei on Learn WordPress, which is only accessible to WordPress training team contributors
- It allows for feedback from any interested contributors
- It allows for pull requests, so contributors can suggest their own changes to each of the course lessons.
- Because it's written in markdown, it's possible to review the content in the GitHub web UI
- Because it's written in markdown, it can be copied/pasted over to the WordPress post editor, which supports markdown.
You can find the course content repository here.
I will be linking each individual piece of content to the relevant issue in this repository.
Module 1: Recap of Create a Block Theme (Low-Code) is ready for review.
This course is now available for public review! 🎉
A Developers Guide to Block Themes – Part 1
How to review:
Make sure you are logged into your WordPress.org account, click on the link above, and take the course.
During the review, it would be helpful if you can keep the following questions in mind while reviewing each lesson.
- Are there any spelling/grammar issues or anything that doesn't make sense?
- Is the content technically correct?
- Does the layering of information successfully build from lesson to lesson
- Can you follow the steps outlined in the course
- Does the lesson contain enough relevant links to documentation (WordPress documentation, or any other relevant documentation)
How best to leave feedback:
Each lesson in the course is being tracked on a separate issue in this repository. You can find the full list of modules and lesson tickets in the Outline at the top of this ticket. So when you're reviewing a lesson, please find the ticket relevant to that lesson, and leave your lesson-specific feedback in the comments on the lesson ticket.
I'm aiming to publish the course on Monday 31 October, to time it with the WordPress 6.1 release.
This course is fantastic and I loved going through it - excellent content and really well put together. Wonderful work all round!
Two quick typos to fix:
- The first question on this quiz: https://learn.wordpress.org/quiz/building-your-theme-structure-in-the-editor-summary/. The question reads "What is one common different between using Group blocks and Row blocks when defining your template layout?". The word "different" should be "difference".
- The final module is called "What' Next?" - it's missing an "s" after the apostrophe.
And just noting for posterity that the final lesson ("Congratulations!") will need to have its content updated once part 2 of this course is live.
I can't wait for this to be live - great work, @jonathanbossenger!
Thanks for the review, as well as your kind words @hlashbrooke
I'll make sure to get those errors fixed.
And just noting for posterity that the final lesson ("Congratulations!") will need to have its content updated once https://github.com/WordPress/Learn/issues/1041 is live. Yes, this is actually one of the reasons I added that final lesson, so that we can link learners to it, once it's published.
One thing I'd love to be able to do is somehow let all learners who enrolled for part 1 know when part 2 is available. Do you know if this is currently possible?
One thing I'd love to be able to do is somehow let all learners who enrolled for part 1 know when part 2 is available. Do you know if this is currently possible?
As far as I know, It isn't possible to email all learners in a course, but I'll dig into that to see what we can do.
This course has been published! https://learn.wordpress.org/course/a-developers-guide-to-block-themes-part-1/