Training Program

WordPress Training 401

Treat theme.json as a design-system contract, ship a custom block with a real render path, and judge FSE on purpose.

You ship WordPress for clients, and the block era still feels like a pile of opinions you have to argue with. This is the day it lines up into a system you can build on.

Who delivers this: Christopher Ross · WordPress developer and trainer · plugin author and senior freelance developer · 19 years shipping WordPress sites · MA Candidate, Learning and Technology, Royal Roads University

WordPress 401 is the senior day for people who write code for a living. By the end of it you will treat theme.json as a design-system contract instead of a config file you copied off a gist, you will have built and shipped a custom block with a real render path, and you will leave with a clear set of opinions on where the block tooling pays for itself and where it costs more than it returns.

Who this is for

  • Fit. Agency developers and in-house WordPress devs shipping client work in 2026 who want to stop fighting blocks and start using them on purpose.
  • Fit. Senior freelancers building or maintaining custom themes and plugins who want a peer-level day, not a beginner refresher.
  • Fit. Plugin authors deciding whether the Interactivity API earns a place in their stack.
  • Not fit. Site operators who keep client sites alive but do not write code: the updates, backups, roles, and incident calls are real work, just not this day’s work. If you can read a stack trace but you do not author themes or plugins, 301 is your day, not this one.
  • Not fit. Marketing leads and content owners. You will be lost by lunch. Book 201 instead.

Prerequisites: you write PHP and JavaScript daily, you are comfortable on the command line, you have shipped at least one WordPress theme or plugin, and you know what wp_enqueue_script does without looking. That is the bar.

What you’ll be able to do after

  • Read and write a theme.json deliberately, across tokens, settings, styles, and per-block overrides, and know exactly when to drop to a custom-CSS escape hatch instead.
  • Pick correctly between block patterns, reusable blocks, and synced patterns for a given editorial workflow, without defaulting to whichever you used last.
  • Build a custom block with block.json, a working build pipeline, and a render.php for dynamic output, so it actually fits the rest of your codebase.
  • Decide, with reasons, whether the Interactivity API is the right tool for a given interaction or whether you should reach for a small bit of vanilla JS instead.
  • Use FSE template parts where they earn their place and ignore them where they do not.
  • Talk honestly about the performance and maintainability trade-offs of the block era with a client or a CTO who is asking the right questions.

What your manager (or technical lead) will see different on Monday

  • Pull requests touch theme.json deliberately, with tokens and per-block overrides, instead of dropping another override stylesheet into the build.
  • Custom blocks ship with a real block.json, a working build pipeline, and a render.php where the output is dynamic, not as a copy of last project’s static block with the markup edited.
  • The choice between a pattern, a reusable block, and a synced pattern gets named in the ticket, with a one-line reason, instead of defaulting to whichever the dev used last.
  • The team can answer a client CTO honestly about where the Interactivity API earns its weight and where a fifteen-line vanilla-JS handler is still the right call.
  • Estimates on block-era work start landing closer to actuals, because the team knows what FSE template parts will and won’t do on a real codebase.

The day, block by block

  1. Treat theme.json as a design-system contract, not a file you copied off a gist. Tokens, settings, styles, and the per-block override surface. Where it replaces the work you used to do in CSS, where it complements that work, and where you still need a custom stylesheet without apologising for it.
  2. Reach for the right reuse primitive every time instead of defaulting to last project’s. Patterns, reusable blocks, and synced patterns are three things with three jobs. Picking the right one for a content team that ships, not for a demo. Block variations and the parts of the block API editors actually touch.
  3. Ship a custom dynamic block end to end and take it back to your codebase. block.json as the contract. @wordpress/scripts for the build. Static markup versus render.php for dynamic blocks. Server-side rendering when it matters and when it does not. Shipping it as part of a plugin without polluting the editor.
  4. Decide when the Interactivity API and FSE earn their weight, with numbers. Where the Interactivity API pays off and where a fifteen-line vanilla-JS handler is still the right answer. FSE template parts when they pay back, and the maintainability ceiling I have hit on real client sites. Performance budgets and the trade-offs, on screen.

Real examples we’ll work through

  • A theme.json rebuilt from an existing client theme, with the design tokens extracted and the overrides cleaned up.
  • A custom dynamic block shipped end to end (block.json, build, server render, registered through a plugin) that you can take back to your codebase.
  • An honest performance comparison: an Interactivity-API implementation against a vanilla-JS one, on the same component, with the numbers on screen.

Where this fits in the WordPress training pathway

Shaped for: Agency and in-house developers shipping WordPress for clients in the block era.

From here, the most common next steps:

The four WordPress courses are role-routed, not strictly sequential. Each one segments by the work you actually do on a WordPress site rather than by how long you have been around the dashboard. The full training catalogue shows how they sit alongside the Microsoft Office track.

Format, duration, and pricing

401 runs online only, over Zoom or Google Meet, with the recording sent to your team if you need it. The session is a single full day for the agency or in-house team in the room; multi-day blocks bill at the same day rate when the scope earns them.

Training investment, 401-tier, up to 10 participants
FormatFrom price (CAD)Notes
Full-day (6 hours)from $1,495Online; in-person within Niagara included
Multi-day workshopfrom $2,990Same day rate: two days $2,990, three days $4,485
401 runs at the same single day rate as the rest of the training catalogue. The work-along pace with real models and pipelines caps group size lower than the practitioner tracks. In-person within Niagara is included in the day rate; beyond that, travel is billed at cost. For custom-data or multi-cohort engagements, tell me what you need.

Currently booking through Q3 2026. One senior-track cohort per month.

Product names referenced on this page, including WordPress, Microsoft, Zoom, and Google Meet, are trademarks or registered trademarks of their respective owners. Training offered here is independent and is not affiliated with, endorsed by, or sponsored by any of these companies.

Next public session

No public date is on the calendar right now. Private bookings for your team are scheduled on request.

Common questions

What is this senior day actually about?

You will treat theme.json as a design-system contract instead of a config file you copied off a gist, build and ship a custom block with a real render path, and leave with clear opinions on where the block tooling pays off and where it costs more than it returns. A peer-level day on the block era.

Is this a beginner refresher?

No. It is built for agency and in-house developers and senior freelancers who write WordPress code for a living. If you are not comfortable with PHP, the command line, and a build step, this will move too fast. Owners and content leads want 101 through 301.

Onsite or online?

Either. Onsite across Niagara and the GTA, or live online. This track runs a little smaller, capped at about 10, so there is room for real code review and discussion.

What does it cost?

$1,495 per day flat, half-day $750, for up to about 10 on this track. Travel beyond Niagara is at cost. A 20-minute discovery call sets the fixed quote.

Editorial workspace photograph in warm natural daylight: an open silver laptop centred on a warm wooden desk, showing an abstract code-editor interface. A compact mechanical keyboard sits in front, a closed leather notebook to the right. No people, no hands.

Want this delivered to your team? Book a discovery call.