I Built a WordPress Plugin with Claude Code – Here’s What Actually Happened

Copying a post ID in WordPress means opening the editor, looking at the URL, and picking the number out of ?post=. It works. It’s also mildly annoying every single time you do it.

So I built a plugin that puts a Copy ID button directly in the Posts and Pages list. One click — ID is in your clipboard. And I built the whole thing using Claude Code, start to finish.

Here’s exactly how it went, including the prompts I used.

Read more

TCPDF Was Adding a Second Page Silently – Here’s What Caused It and How I Fixed It

A user reported that their certificate was printing two pages instead of one. No error. No warning in the logs. Just a blank second page with some content on it that was supposed to be on page one.

That’s the worst kind of bug — silent, visual, and impossible to reproduce until you understand exactly what triggered it.

TCPDF Adding an Extra Page Automatically — The Rendering Loop Bug

Read more

My Moodle Plugin Crashed on the Live Site Because I Added a Column Manually

I added a new column to my plugin’s database table. Tested locally — everything worked. Deployed to the live site — plugin crashed with a “Column not found” error in front of actual users.

The column was sitting in my local database. It was not on the live server. Of course it wasn’t. I had added it by running ALTER TABLE directly in phpMyAdmin. That only touched my local machine. The live server had no idea a new column was supposed to exist.

This is the mistake I see most Moodle developers make once. You do it, the live site breaks, you manually run the SQL on the server at odd hours, and then you learn there’s a proper way to do this.

Moodle plugin database upgrade - upgrade.php and version.php diagram

Read more

A Step-by-Step Guide to Adding a Database Table to Your Moodle Block

Welcome back! In our previous adventure, we explored the basics of creating a block in Moodle. If you missed that, no worries! Today, we’re taking the next exciting step by adding a database table to our block.

Now, you might wonder, why do we need a database table? Think of it like a special notebook where our block can neatly organize and store information. It’s like a digital bookshelf for our data.

So, grab your virtual toolkit because we’re diving into the process of creating and integrating a database table in Moodle. Don’t worry; it’s not as complicated as it sounds. Let’s get started on this journey of making our block even more powerful!

A Step-by-Step Guide to Adding a Database Table to Your Moodle Block

Read more