This is my 11th year of writing a review of the year, a habit I find useful to reflect on what’s happened and galvanise me for the year ahead. A big goal for 2022 was to work smarter instead of harder – try to work less hours and leverage outsourcing to continue to grow my businesses. However, […]
This is my 10th year of writing a review of the year, and like the previous year, 2021 was both good and bad.
This is the story of Plugin Rank, a SaaS app for WordPress plugin developers from building it to selling it within 12 months.
I’ve previously written year in review posts over on my personal blog, but as the majority of content is about my projects and work, I’ve ported them over to this site which you can read here. 2020 has been a strange old year and it almost didn’t feel right to reflect on what has gone […]
Back in 2017, WordPress added a new header that plugin authors could use in their plugin’s readme.txt file. ‘Requires PHP’ can be used to specify a minimum required PHP version for their plugin. Initially WordPress didn’t show updates for those plugins where the PHP version didn’t meet the required plugin version, and later added a […]
Recently I needed to produce an export of some data from a client’s WordPress site. Unfortunately the data they needed was stored in the wp_postmeta table as a serialized array. Pro Tip: Want to make sure you migrate your WordPress databases without breaking serialized data? Check out WP Migrate DB Pro Of course, I could […]
It’s a little later than I normally get this written by, but here it is – my review of the last year from a personal and business perspective. This is actually the 8th year of writing these reviews!
Recently I needed to debug an issue that was happening on a staging site that is protected by basic authentication. To try and recreate the issue I needed to password protect my local development site in the same way. I’m using MAMP Pro for my local sites and as I couldn’t find a post about […]
WordPress has great support for embedding content from other services just by using a URL. For example, if you paste a YouTube URL into the editor, when WordPress displays the post it will render an embedded YouTube player on your site. However, sometimes oEmbeds don’t load and you’re left with the text of the URL […]
Last year I wrote about using an Advanced Custom Fields (ACF) repeater field to manage data in a custom table for storing versions of the Delicious Brains plugins. In the table, the versions are rendered in descending order, so the latest version is at the top. However, when a new row is added to the […]