
How Writing One Plugin Changed My Lifestyle
Outside of the development world, it’s difficult to describe how I landed on my current ‘remote worker lifestyle’. The concept of working from home isn’t new to most people. Some...

WordPress Silence is Golden snippet for Sublime Text 2/3
When I’m writing plugins for WordPress, there are a lot of ‘models’ I follow to help speed up the process and one of my favorites is using snippets in Sublime...

WooCommerce – Hide out of stock products, only when backorders aren’t allowed
A while back I wrote about how I was using WooCommerce for a site my Wife was running. It’s been running totally solid since then, with very minimal involvement from...

How We Updated 37 Plugins in 4 Days
If you haven’t heard by now, there was a massive day of security releases for several WordPress plugins, and Easy Digital Downloads was no different. We were included in a...

Getting Feedback is About More than Asking for It
The other day I was driving home from the coffee shop on lunch break. “How’s My Driving?”, was staring me right in the face in bold black letters on a...

Protect All the Reputations
When developing software, particularly web applications, you are hardly giving your product to the end user. There’s typically a relationship that looks more like: You › Business › Customer Sure,...

Prevent additional discounts when renewal discounts are applied
Update: This is now a feature that’s built directly into the Software Licensing add-on for Easy Digital Downloads. It can be accessed in Downloads > Settings > Extensions > Software...

Coding In Someone Else’s Kitchen
Recently I was watching an episode of Top Chef, from Season 1. Yep, All the way back. In fact it may have been episode one. Anyway, watch this scene, where...

Code Snippet: Show blog ID in admin header
Just recently I ran into a case where I had to quickly look something up in the database of my WordPress development environment. I typically do this via a program...

Don’t Settle for Broken Windows
Small or large...a broken window is still broken. The same principal applies to your code. Small or large, a bug exists and needs to be fixed.