WordPress Hook Autocompletion for VS Code

I’ve published a VS Code extension which autocompletes WordPress action and filter names and the corresponding callback function. Check out the extension here on the VS Code Marketplace. It’s new and this is my first VS Code extension so it needs some more work. I’ll be improving it over time but I hope you find it useful!

Rendering Dynamic Gutenberg Blocks in Theme Template Parts

Gutenberg is an ambitious project that aims to completely overhaul the experience of writing content in WordPress.

One of the problems you’ll soon run into when building a block for Gutenberg is that as a block becomes more complex, storing its complete output statically becomes undesirable. If a block contains several fields or its output contains HTML markup, you don’t want to find yourself in a situation where this output needs to be changed at some point in the future and you need to retrospectively apply changes to stored block output in every post.

Gutenberg supports dynamic block rendering so that you can perform more complex output rendering on the fly, without having to store the complete output when the block is saved. This is the same method that shortcodes in WordPress use and allows you to move away from static block output. If you’re building a block for Gutenberg that uses anything more than very simple output, you should consider using dynamic rendering.

Read moreRendering Dynamic Gutenberg Blocks in Theme Template Parts

A Collection of My Talks

Last updated February 2019.

Here’s a list of the various talks (mostly WordPress) that I’ve given in the past, along with the video recordings and slides when they’re available.

Zen Mode: Developing While You’re Offline

Those of us who work in the web industry find that we’re online a huge amount of the time. Going offline can make us feel disconnected. But what about going offline while we’re working? Right at the time when we think we’re most likely to need an internet connection: to get our job done.

Working offline can be highly productive, and is often calming and focused. Whether we choose to go offline, or whether our surroundings make it necessary — such as while we’re traveling — having the right tools, environment, and frame of mind allows you to make working offline a joy.

In this talk, I cover the tools and approaches that I use to develop while I’m in zen mode and not connected to the internet.

Read moreA Collection of My Talks

Misleading Code Coverage Reports for Switch Statements

I was recently investigating the code coverage of the map_meta_cap() function in WordPress’ core unit test suite — particularly the large switch statement contained within the function. I was surprised to see that the coverage was higher than I was expecting, because I know for a fact that several meta capabilities aren’t tested.

It turns out there is a subtle code coverage reporting issue for switch statements that allow multiple conditions to trigger one action.

Read moreMisleading Code Coverage Reports for Switch Statements