WordPress Core Contribution Retrospective

I contributed to WordPress core from 2013 through 2021. WordPress core is the open-source software that powers 40% of the web. My contributions ranged from software code and designs to project management, documentation, and outreach. Most of this work happened as a volunteer. This post summarizes my involvement in the project. It’s long but hopefully successful in distilling eight years…

WordPress Plugin Status Updates

I have developed over 25 free plugins on WordPress.org. My plugins offer functionality for multimedia content, site customization, widgets, social media, and site utilities. I published most of these plugins between 2013 and 2016 and have made fewer updates in recent years. I still use many of them on my personal sites, some are simple enough that updates are not…

Building and Managing Dynamic Multi-part Pages with WordPress

Twenty Seventeen is the first bundled theme to provide a way to create multi-part pages with WordPress, via a front page sections option that features multiple pages on the front page. This is useful for largely single-page sites, but limits the functionality of a front page as a showcase for and gateway to content throughout larger sites. For sites with…

Trust WordPress with Live Preview

When most of us walk into a building, we assume that it’s safe. We trust that it’s built to code and structurally sound. And we trust that the engineers and architects behind the building know what they’re doing. If a room is too hot or cold, bright or dim, spacious and sprawling or tight and cramped, many people are uncomfortable…

A Strategy for Custom Colors in the Customizer

The customizer is a framework for live-previewing any change to a WordPress site. It is particularly useful for previewing visual change and has always included a color control and the ability to easily preview custom colors. But the previewing experience has often been a bit slow. This post outlines a strategy for custom colors that leverages instant JS-based previewing in…