Why your custom WooCommerce emails look broken in Gmail
A client WooCommerce order emails looked fine in Apple Mail but broke in Gmail. The reason: Gmail strips CSS from the head. Why inlining your styles is the only reliable fix.
A client WooCommerce order emails looked fine in Apple Mail but broke in Gmail. The reason: Gmail strips CSS from the head. Why inlining your styles is the only reliable fix.
A client’s site had the same widget code copy-pasted twelve times. Here is how I use an abstract base class so one edit updates every widget instead of twelve.
A plugin stuffed 2MB of logs into one autoloaded option and dragged every page down. Here is how the Options API autoload flag works and how to split the data properly.
Hooks buried in class constructors made a WooCommerce plugin impossible to follow. Here is how a small PHP interface and a hook manager give every class a clear, testable contract.
A client asked for one small change to a meme shortcode plugin, but its 2,000-line class made every edit risky. Splitting it by responsibility fixed that.
A tangled inventory plugin had hooks and direct class calls everywhere. Treating the WordPress Plugin API as the mediator, with hooks in a dedicated subscriber class, keeps the core logic clean and testable.
Got a call from a client running a huge WooCommerce store. They wanted a “related products” feature that was… ambitious. It needed to show products…
A new junior dev joined my team last week, and I had to get them set up. I figured I’d just send them my list…
A one-line shipping tweak would have broken inventory reporting and a homepage shortcode. Tight coupling and low cohesion are why, and here’s how to structure the code instead.
I got a call from a client running a pretty complex WooCommerce store. Their shipping logic was a mess. They had all these rules for…