The blog
Notes on WordPress development, the plugin business, performance, and the occasional rabbit hole.
Setup Minikube on WSL2 for Windows 10
Working as of 04/23/2021 After following a few guides (linked below) I wasn't able to get Minikube running under WSL2. So this guide serves as a quick TL:DR that worked for me and was repeatable. I will say that I have given my user password-less sudo access, which you can read about in my guide…
Migrating Ecommerce Sites without Data Loss
This is a short checklist for quickly migrating a live ecommerce site (specifically WordPress) without losing or duplicating data in the process. Set up new server. Install clean copy of WordPress Set up test domain. (Optional) Set up SSL on the new server. Install WP Migrate DB Pro. Clone old site to new server: Migration…
Importing & Exporting WSL Linux Distros
I regularly find myself working in WSL terminals, and often for completely different needs. This led me to find the following ways to clone and restore clean images very quickly anytime the need arises. How to export a WSL distro image How to import WSL distro image How to remove an existing WSL distro Reset…
Practical Guide to GDPR compliance for WordPress plugin & theme developers.
Last updated: 05/14/2018 4:00 am EST. You are likely here because you have a WordPress plugin that manages user data in some way and your users are SCREAMING about GDPR Compliance (as they should be). This is currently the only guide to GDPR compliance for WordPress plugins until the WP Codex is updated. This will help…
Prevent users from deleting a page or post in WordPress
During my time developing plugins, theme and sites using WordPress I have often come across the need to prevent certain pages from being deleted. I have tried many solutions that did not do the trick or didn't provide a full solution to the problem. Some left the delete links but would create errors when they…
jQuery UI Autocomplete: Tabbing before results are available.
While working on a plugin of mine using jQuery UI Autocomplete i ran into an issue where sometimes users enter the value and tab out of the field before jQuery UI can make a match. This is an issue when you are setting the value of a hidden field. This allows you to fill the…
Fetching Active Install Count from the Plugins API
Today the wordpress.org plugins api got a small update. With the addition of the new Active Install metric a few weeks ago, now you can get the install count from the API for use in your own projects. For example: Popup Maker currently has [plugin_install_count plugin="popup-maker"] + Active Installs Here is a simple function that…
Plugins & Themes shouldn't combine their external assets.
The Problem I am going to outline why plugins and themes should never combine or bundle their external JS and CSS libraries. Not only is this against best practice but it can have several detrimental effects down the line. First as a plugin or theme developer for WP our jobs is not to conserve bandwidth.…