Articles & Tutorials

Check out the latest articles about WordPress development tips and techniques.

How to configure the Block Editor with PHP

In this post, I’ll show you ways you can use PHP to filter the block editor’s settings beyond simply editing theme.json. We’ll break down how the block editor settings layers are resolved and go over some practical ways you can adjust settings using PHP.

Read More

Intro to the Block Bindings API

If you’ve ever built a custom block just to display a single piece of dynamic data, the Block Bindings API is the feature you didn’t know you were waiting for. You can use this new API to bind dynamic data to specific block attributes.

Read More

How to cache queries and API responses with transients

Once you start building more complex things, you may find that you need to implement some kind of caching of your own. In this article I’ll explain how to do so with transients and how this compares to using the options or wp_cache_* methods directly.

Read More

How to Build a Custom Mobile Menu Overlay in WordPress 7.0

The navigation block overlay has never been directly customizable in the editor. But as of WordPress 7.0 you’ll have more options to edit the overlay than ever before. Here’s how to register a custom navigation-overlay template part, wire it up to the Navigation block, and handle the accessibility work WordPress doesn’t do for you.

Read More

How I edit WordPress sites with AI using MCP

Turn your WordPress site into an MCP server that AI tools like Claude and Cursor can interact with directly. Learn how to set it up using the Abilities API and MCP Adapter and I’ll share a handy abilities plugin you can use to get started.

Read More

How I made the Interactivity API finally click

I struggled with understanding the WordPress Interactivity API until I actually built something with it. I build a dark mode toggle block that made the whole thing click for me. I’ll show you how to build one and how using semantic colors makes dark-mode styling a breeze.

Read More

How to set default block styles in a block theme

In this post I’ll walk you through how to style blocks using the Site Editor’s Global Styles interface, how to use “Additional CSS” for more advanced customizations (like hover states and targeting descendant elements), and how to persist everything back to your theme files using Create Block Theme.

Read More

Building a Custom Block Part 6: Block Variations

In Part 6 of Building a Custom Block, we’ll use the Block Variations API to create preconfigured versions of our Notice block. Instead of inserting a generic notice and then picking a style, users will be able to drop in a ready-to-go “Error Notice” or “Success Notice” directly from the block inserter.

Read More

How to set up @wordpress/scripts

The @wordpress/scripts package makes it easy to bundle your JavaScript for a plugin or theme and is especially helpful when developing custom blocks. In this post, I’ll show you how you can easily set up @wordpress/scripts and take advantage of the dependency management benefits it offers.

Read More

How to add a gradient text effect to specific words in a block

Gradient text effects are pretty nifty and can add a nice element of visual flair to your posts (if I do say so myself). Adding this effect is pretty easy with CSS, but what if you want to only apply it to certain words inside a paragraph, heading, or similar block? In this post I’ll…

Read More

4 new essential modern CSS features for WordPress Development

CSS has been around for a while, but modern features are being added faster than ever. In this post, I’ll show you 4 essential CSS capabilities: color manipulation, smart selectors, container queries, and aspect-ratio that will save you time and effort on your WordPress projects, with no JavaScript or complex workarounds required.

Read More

How to easily parse and alter HTML markup with WP_HTML_Tag_Processor

When you’re building with WordPress you will almost definitely need to modify HTML output at some point or other. This type of thing is pretty easy to do with JavaScript (which is pre-built with tools for manipulating the DOM) but historically it’s been much more challenging when using PHP. In this post I’ll show you…

Read More

Next