WordPress

This is my dumping grounds for all things WordPress. I’ll post themes, plugins, tutorials, and hacks under this topic. Have a look around. There’s plenty for everybody.

Meet Nova, Accidental Mascot

Nova is a space-faring, time-traveling creature from an unknown race who has ventured back to 2025 to build awesome WordPress plugins and themes. Or he’s possibly here to just cheer me along in the process. He came here entirely by a random act of fate. What I really means is … Continue reading →

Introducing the "Powered By" WordPress Block Plugin

Officially, I released my first WordPress block plugin today. X3P0 - Powered By is now hosted on the WordPress plugin directory. Woot! Woot! 🥳 Powered By, for short, is a simple block type for displaying a randomly-generated message, such as: Powered by coffee. Powered by crazy ideas and passion. Powered … Continue reading →

I finally updated the Professional WordPress Plugin Development book page for the 2nd edition today. Yeah, it is a few months later than I expected, but at least it is done now. As always, it is a work in progress.

If you’re feeling nostalgic, you can check out the archived 1e book page.

Just Me and My Laptop: Two Years After WordPress

I am nearly two years post-WordPress. I moved my personal blog away from the software that has given me a career and provided a way to share my thoughts with the world for over a decade. But, it was never about the system. All I really needed was a keyboard … Continue reading →

Contextual customize partials

While building the Exhale theme, my latest WordPress project, I wanted to build a cool feature into the customizer. The idea was that the user would have an option to select their preferred featured image size. When selecting a size, their featured images would be refreshed in the preview panel … Continue reading →

I've been in the lab

It’s been two years since I’ve built a new WordPress theme. That’s assuming we’re not counting starter themes. I was uninspired. It wasn’t until I launched the redesign of this blog that I found my muse once again. I had the beginning of an idea. I had a starting point … Continue reading →

Do we need advanced starter themes?

Is there a place for advanced starter themes in WordPress? Or, should the focus be on simpler starters to help theme authors learn the basics?

Life after WordPress

It’s been three months since I made the switch from WordPress to a custom system for my blog. This was one of the toughest and scariest changes I’ve made in the 15+ years I’ve been running this site. What if I break things? What if I’ve wasted all this time … Continue reading →

Whitelist validation in WordPress

Far too often when doing code reviews, I see developers lean too heavily on sanitize_text_field(), using it as a sort of catchall for sanitizing data. That’s usually not a good idea. Data should be sanitized based on what sort of data you’re expecting. In this tutorial, I’m going to cover … Continue reading →