All posts › wordpress
-
WCUS 2025 in Pictures
A photo gallery from WordCamp US 2025, shot almost entirely in monochrome on a rangefinder camera, with generous crops on some images.
-
The Hiatus is Over
The author announces a return to the WordPress ecosystem after a hiatus, focusing on the FAIR Package Manager project -- a decentralized and federated plugin and theme distribution system built on the ATProto protocol that reached MVP and launched at the Alt Ctrl Org Conference during WCEU 2025 in Basel.
-
Update API Server
This post clarifies that Git Updater functions as an Update API Server rather than a direct update server since actual plugin and theme files are served from the git host, and describes virtual integration via the Additions tab along with a cache-flush REST endpoint for use with GitHub webhooks.
-
Git Updater Lite
Git Updater Lite is a lightweight composer library that lets WordPress plugin and theme developers distribute updates outside of wp.org by pairing with a Git Updater-based Update API Server, offloading data-gathering to the server and keeping the embedded updater minimal.
-
WordPress on Hiatus
A long-time WordPress Core contributor explains pausing his contributions after Matt Mullenweg added a politically charged login checkbox to WordPress.org that he cannot in good conscience check, while reflecting on nearly a decade of Core contributions and expressing hope the community can heal.
-
Contributing to WordPress, a Letter to Matt
An open letter to Matt Mullenweg arguing the WP Engine controversy has harmed the community and proposing cost-sharing for WordPress.org infrastructure, placing the site under the WordPress Foundation, and broadening what counts as a contribution under Five for the Future.
-
WCUS 2024 in Pictures
A photo gallery of images taken at WordCamp US 2024 in Portland, displayed in a three-column grid.
-
Setting up WordPress local docker environment for Apple Silicon
A step-by-step checklist for standing up the official wordpress-develop Docker environment on Apple Silicon, covering Homebrew, git, Docker, nvm, npm, docker-compose overrides, and shortcut commands for initializing, cleaning up, running PHPUnit tests, and applying Trac patches.
-
Git Remote Updater, the Personal Remote Management System
Git Remote Updater is a WordPress plugin that serves as a personal remote management system, letting developers push Git Updater-managed plugin and theme updates to multiple sites with a single click via REST API webhooks, organized either by repository or by site.
-
WP Core Development with Local Lightning
Step-by-step instructions for setting up a WordPress core development environment using Local Lightning on macOS, covering both the core.git and develop.git repositories, PHPUnit, patch application, npm build tooling, and Apple Silicon-specific notes for nvm and Node.
-
Bringing WordPress Core to PHP 5.6 and Beyond
An overview of the Servehappy / Site Health project and the safeguards added in WordPress 5.1 and 5.2 to protect sites during the transition away from end-of-life PHP versions, covering the dashboard PHP callout, plugin install and update blocking, activation protection, and WSOD recovery mode.
-
Translations Updater and Easy Digital Downloads
The Translations Updater Composer library integrates with Easy Digital Downloads Software Licensing to provide decoupled language pack updates for EDD-licensed plugins and themes by adding just two extra entries to the existing EDD SL configuration array.
-
Translations Updater
Translations Updater is a Composer library that brings decoupled language pack updating to plugins and themes hosted outside of WordPress.org, letting developers maintain a separate public translations repository and distribute only the locale files a site actually needs.
-
Install a Zipfile with GitHub Updater
GitHub Updater gained the ability to install plugins and themes directly from a local zipfile path or remote URI, treating the zipfile as just another git host type in the Remote Install workflow to solve build-process dependency issues.
-
WordPress Debugging
The WP Debugging plugin automatically enables WordPress debug constants in wp-config.php on activation and removes them on deactivation, bundling optional tools like Query Monitor, Debug Bar, and a log viewer to make PHP error identification accessible without manual file editing.
-
GitHub Updater and Gitea
GitHub Updater gained support for Gitea, a lightweight self-hosted Go-based git server, through a collaborative pull request with community contributor Marco Berchart, with the integration being the simplest to add yet thanks to the Gitea API closely mirroring the GitHub API.
-
GitHub Updater - the Path to 8
Version 8 of GitHub Updater raises the minimum PHP requirement to 5.6, introduces a more modular architecture with new hooks, adds automatic plugin renaming on activation, and improves the Settings UI with icons, tooltips, and WP-CLI and webhook support.
-
GitHub Updater and Background Updates
GitHub Updater now offloads its remote API calls to WP-Cron so update data is fetched in the background, dramatically reducing dashboard wait times while providing status indicators so users know processing is still in progress.
-
WordCamp Orange County 2016
Slides from the WordCamp OC 2016 talk on contributing to open source are embedded via the Embed PDF Viewer plugin and also linked from SpeakerDeck, with a WordPress TV video to be added once published.
-
WordCamp LAX 2015
Slides and a WordPress TV recording from the WordCamp LAX 2015 talk on plugin development are shared here.
-
GitHub Updater & GitLab
Version 4.5.0 adds support for GitLab, GitLab CE, GitLab Enterprise, and GitHub Enterprise via new plugin headers, alongside a refactored abstract API class and a dedicated Messages class.
-
Smash API Rate Limit & More
Version 4.3.0 adds a personal GitHub Access Token setting to raise the API rate limit to 5000 calls per hour, along with plugin branch switching and a View details link on the plugins page.
-
GitHub Updater and Error Messages
HTTP error codes from the GitHub and Bitbucket APIs are now surfaced as WordPress admin notices, with a 401 indicating an authorization failure and a 403 indicating a surpassed rate limit along with the reset time.
-
GitHub Updater Logo
A hand-drawn concept sketch submitted to LogoMajestic resulted in a professional logo for GitHub Updater that matched the original vision on the very first pass.
-
Looking for a Logo
A WordCamp sponsorship request prompted the search for an official logo for GitHub Updater, leading to a hand-drawn concept sketch and the start of work with a professional logo designer.
-
GitHub Updater 4.1.0
The v4.1.0 release delivers community bug fixes and a new remote install feature that eliminates the manual download-rename-upload workflow for GitHub and Bitbucket plugins and themes.
-
GitHub Updater and Remote Installation
The v4.0.0 release introduces namespacing and PSR-4 autoloading, and the upcoming v4.1.0 adds one-click remote installation of plugins and themes from public and private GitHub and Bitbucket repositories using the WordPress upgrader classes.
-
Refactoring and Autoloaders
Refactoring work on GitHub Updater and The Events Calendar Category Colors adopts PHP 5.3 namespacing and PSR-4 autoloading via spl_autoload_register, with class aliasing used to maintain backward compatibility across plugin versions.
-
Private Bitbucket Repositories
An update to GitHub Updater reorganizes the Settings page so clients enter their own Bitbucket credentials, improving security by letting developers add clients as read-only users without exposing the developer password.
-
Automatic Plugin & Theme Updating From GitHub – Part 3
Recent improvements to GitHub Updater include privileged-user-only execution, spl_autoload_register for class loading, Parsedown for changelog rendering, a new Settings Page for storing credentials outside the repository, and a fix for a long-standing bug preventing Bitbucket private repository updates.
-
Automatic Plugin & Theme Updating From GitHub – Part 2
A technical deep-dive into how GitHub Updater scans plugin and theme headers, queries the GitHub and Bitbucket APIs with transient caching to avoid rate limits, and hooks into WordPress core update mechanisms with minimal overhead for both developers and end users.
-
WCLAX
A short announcement about attending WordCamp LAX, with plans to bring a daughter along and hopes she enjoys it as much as her brother did.
-
Automatic Plugin & Theme Updating From GitHub – Part 1
The origin story of GitHub Updater traces the plugin from its roots as a frustration with manually FTP-ing updates across multiple sites, through a series of forks and collaborations with Gary Jones, Seth Carstens, and Paul Clark, to a combined plugin-and-theme updater.
-
The Events Calendar Outlook Import Fix
A WordPress plugin was created to remove the X-WR-CALNAME header from The Events Calendar iCalendar output, fixing the Outlook behavior of creating a new calendar instead of adding the event to the default one.
-
Sporting a New Look
Tom McFarlin released his Mayer theme for WordPress.org sites, making it the first purchased theme for this blog, chosen for its embrace of the decisions-over-options philosophy that results in leaner, more efficient code.
-
Add Custom Header Images
A refactored WordPress plugin submitted to the plugin repository automatically registers all images uploaded to a page called The Headers as selectable or randomized header images, replacing any defaults.
-
The Events Calendar Category Colors Plugin
Introduction of a WordPress plugin that adds background color support to event categories in the month view of The Events Calendar, integrating with its settings page via the Tribe Settings API and available in the WordPress plugin repository.
-
Add Alarm to Events Calendar PRO
Announcement of a WordPress plugin that adds alarm and reminder support to calendar events created with Events Calendar PRO, requiring an Additional Field to be created in The Events Calendar settings before installation.
-
WordPress Automatic Updates
How to get WordPress automatic plugin and theme updates working on OS X Server by fixing Apache file ownership with chown and adding a direct filesystem method constant to wp-config.php, with a note that the fix works for plugins and themes but not core WordPress updates.
-
Moved to WordPress!
A short announcement that the blog has been migrated to WordPress, with MarsEdit configuration and hosting transfer still pending but the initial switch going smoothly.