Auto-refresh the Browser on File Save with Django

Introduction I’ve recently started learning Python’s Django framework and have brought my favourite JavaScript framework along with me: TailwindCSS. From a development standpoint, I find that TailwindCSS feels much more efficient when I don’t have to refresh the page every time I make a change. At first, I wasn’t entirely certain about how I could […]

How To Correctly Size WordPress Images

Introduction This is a bit of a minefield topic, as there are a lot of plugins and ‘solutions’ out there that require you to pay money or install bloated software to accomplish something WordPress is designed to handle. In this post, I will show you how to have WordPress generate specific sizes for your images […]

Hosting Updateable WordPress Plugins on GitHub

Introduction If, like me, you enjoy writing custom plugins for WordPress, you may know the daunting feeling of managing the versions of your plugins across many websites. While you can use a PHP package manager like Composer for your plugins, this isn’t appropriate for most WordPress deployments. For most, using WordPress’ interface to install and […]

Testing Laravel & Livewire in Github Actions

The Issue We’re Resolving When running a Laravel test suite with Livewire components, the default workflow file provided by GitHub for Laravel likely won’t pass. When using their default config, I was presented with errors such as this: The test in question was simply checking if the component was rendered when a certain page was […]

HTML Page Caching with WordPress & Cloudflare

HTML Caching vs Static Asset Caching If you use Cloudflare to proxy your website, you can take advantage of their various caching services. The most common one is static asset caching. Static asset caching refers to media such as images, CSS files and Javascript files. Between deployments and page reloads, these assets typically don’t change, […]

Remove the ‘Website’ field from the WordPress comment form

Introduction The default WordPress comment form contains the following fields: I’m not a fan of the website field, especially since it’s optional anyway. As such, I like to remove it from my blogs. This is a 3-step process: Remove the Website Field This code snippet uses the comment_form_default_fields hook to remove the url field from […]

Rebuilding a Divi website with a custom Block Theme

Introduction Before the 4th of July 2024, my website (yes, this one) exclusively used the popular WordPress theme Divi. You can read more about this build here. I’ve had a love-hate relationship with Divi over the years. When I was first learning the ropes of WordPress, I found Divi to be an excellent tool to […]

YouTube API with Laravel & Guzzle Http

I felt that my minimal, PHP YouTube client was worth sharing. If you’re looking to do something similar, interacting with the YouTube API via PHP, then look no further.

Add a Honeypot to Livewire Volt Forms

What are Livewire and Volt? Livewire allows you to build ‘Powerful, dynamic, front-end UIs without leaving PHP’. For me, as a PHP fanboy, it’s quickly becoming my bread and butter for creating reactive components all within the comfort of my own backyard. Livewire Volt is a package you can use on top of Livewire, described […]

How to block WordPress comment spam with Cloudflare

A little while ago I wrote a post titled ‘How to block Contact Form 7 spam with Cloudflare‘. This explained how I use Cloudflare’s WAF rules to prevent any spam form submissions coming through with the popular Contact Form 7 plugin for WordPress. Even if you don’t use Contact Form 7, I’d highly encourage you […]

123 Next