New The Lab is going through an upgrade!

Is your Categories meta box packed? Here’s an option.

One of my favorite clients is a long standing newspaper of over 35 years. They have been through numerous content management systems and suffer from all of the bloat of that comes with exporting and importing into new systems. Category wise, there are a few hundred, many of them with the same name. The long […]

Disabling WooCommerce default styles

We work with WooCommerce a lot.   One of the biggest time suck issues that we have is when a client adds WooCommerce later in the life on a site, then needs someone to go back through all of the styling to modify it to accommodate the late loading Woo' stylesheets. Common classes like .button get […]

WordPress Caching: Menus

In this continued series on WordPress caching, we are looking at an extremely query intense part of WordPress: Menus. A large part of what I do with WordPress revolves around trying to get paywall sites to run fast. For anyone who hasn't done this, out of the box caching doesn't work. There isn't a great […]

Google Analytics – Tracking All Outbound Links

Inbound tracking Google Analytics is great, but what about your outbound links? This gist was written to add a tracking code to all outbound links at render time.  It can easily be extended to other uses.  Make sure it ends up in the footer of your page, after all links have been loaded into the […]

Programatically adding pageviews to Google Analytics

If you're not familiar with Google Analytics, then you're missing out on the best website user analysis software available.  Google provides it at no cost.  If you run AdWords campaigns or want to build sales funnels, this tool will compliment all of your hard work and help turn those visitors into conversions.  It will also […]

Laravel 5.6 release notes

February's major release of Laravel was rolled out today with many welcomed changes.  The next major release is scheduled for August 2018. LTS updates will be available for 5.5 for 2 years and security updates for 3 years. What's new? Logging Improvements The biggest upgrade is in the logging system.   Being able to send different […]

Adding Materialized Paths to WordPress

If you are looking to use materialized paths in WordPress, this is a simple way to add them in. It will automatically add paths to the approved post types. At that point, you can use the materialized key in your queries to easily find all children. If you’re doing massively nested data, it will make […]

Paperclip Attachment

Making WordPress link to PDF files instead of the attachment page.

A client was having what they called a major UX error.  When someone found a pdf on their site and clicked the thumbnail, they would first be sent to the attachment page that had the full thumbnail and a link to the PDF.  They wanted the thumbnail url to go straight to the PDFs.  This […]

Writing WordPress plugins the Object Oriented way

So, you want to take your plugin game to the next level?  You want to load resources easily, but only when they are needed?  Looking to keep your code localized so it doesn’t have collisions with other code?  Interested in an easy way to do versioning? That’s great! Don’t want to read the article? Get […]


Notice: Undefined property: stdClass::$rhx_gis in /var/www/html/crumbls/wp-content/plugins/o2common/vendor/pgrimaud/instagram-user-feed/src/Instagram/Transport/HtmlTransportFeed.php on line 56

Project Gallery

Love my new home office.

They don't build em like they used to 
#phonograph #record #player
Nailed it.  #motorcyclecollector #colorado #harley #davidson #harleydavison #antique #vintage #collector
Received a #3dprint that's 17-4PH #stainless #steel from @markforged Hardened it to RCH35.  Looks like #3dprinting is #evolving
My helper telling me what modifications we will be making to his #shovelhead