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 […]

Dnsmasq Domain Resolution with Docker Compose

Dnsmasq resolves a subtle, but real problem that becomes apparent when adopting Docker Compose as a LAMP stack. By allowing containers to resolve requests to each other with custom domain names, you can ensure that all containers can…

Local PHP development with Docker Compose

Introduction This post will cover how I host local copies of PHP websites running WordPress and Laravel with Docker Compose. This removes the need to install PHP, Composer, Nginx/Apache, MySQL, NPM/Node, etc locally on your host machine. I run my local development environments within Docker to avoid bloating my system. This means all of the […]

Automatically update Pypi on GitHub release

Introduction This article will guide you through setting up a GitHub workflow that automatically updates your PYPI package upon a new GitHub release, using my zomboid_rcon repository as a practical example. Understanding the Workflow The process involves a GitHub workflow specifically designed to upload a Python package to PYPI when a new release is published. […]

Squashing Commits with Git Interactive Rebase and Reset

When working on projects both personally and professionally, I use Git for version control. More often than not, If I’m working on a fix or a new feature, I will work from a new branch which has a single, specific focus and then merge it into the main branch when the work is complete. This […]

Foreign Keys in Laravel Migrations, Models & Eloquent ORM

The problem we’re solving I’m building a small SaaS project with Laravel. My project is a website up-time monitoring platform that pings users’ websites every 5 minutes to check if they’re live. Suppose a website is unreachable for any reason: In that case, a notification will then be sent to the account owner so they […]