Writing
Thoughts on WordPress, web development, and the tools I use.
How to show company names in the WooCommerce orders list
WooCommerce shows the customer's name in the orders list by default. For B2B stores, that isn't what you want to see. Here's the filter that swaps it for the billing company name, with a fallback to the customer name when the field is empty.
How I skip the cart and send customers straight to checkout in WooCommerce
A practical guide to skipping the WooCommerce cart page and redirecting customers straight to checkout, based on real project experience.
How I upload and update a WordPress plugin on WordPress.org using SVN
A real-world guide to uploading and updating WordPress plugins on WordPress.org using SVN on macOS, based on lessons learned and real mistakes.
How to enable Products Revisions in WooCommerce? (So You Can Undo Mistakes)
How to enable product revisions in WooCommerce so you can track changes and restore older product versions when something goes wrong.
Change nameservers at OVHcloud to point your domain at WordPress.com
A step-by-step guide to updating DNS nameservers at OVHcloud to point your domain to WordPress.com, including domain mapping and verification.
Removing options from the product data panel in WooCommerce
The WooCommerce product editor can feel cluttered when you only sell simple products. Here's the filter that hides tabs like Inventory, Shipping, and Linked Products from the Product data box.
The benefits of using WordPress as a headless CMS in 2026
WordPress 7.0 shipped in April 2026 and quietly changed what headless WordPress can do. Here's what actually improved, when to reach for it, and when to skip it.
How to add a custom domain to GitHub Pages
Step-by-step guide to pointing your custom domain to GitHub Pages, including DNS setup with A records and CNAME for GoDaddy, Namecheap, and HostGator.
Truthy and falsy values in JavaScript
In JavaScript, values like 0, empty strings, null, and undefined are falsy, while almost everything else is truthy. Here's how this affects your conditionals.
Strict vs loose equality in JavaScript
JavaScript has two equality operators: === checks both value and type, while == only checks value with type coercion. Here's when to use each one.