Topic
WordPress & PHP in Production
The most painful WordPress bugs rarely show up in the error log: a filter that runs but renders nothing, one setting stored under two option keys, a PHP 8 fatal masquerading as out-of-memory. These are real incidents from client sites, from a functions.php edit that locked out wp-admin to a second WP_Query clobbering a reserved global. Read this if you maintain custom themes or plugins and something in production 'makes no sense'.
23 articles
Start here

Adding a require_once to a Live functions.php Locked Me Out of wp-admin, and the Recovery Tool With It

Settings Field Set to `0` Snaps Back to Default? `array_filter()` Drops Your Legit Zero
July 13, 2026
`wp_mail()` Silently Fails and Zero Emails Arrive? Your Managed Host Disabled PHP `mail()`
July 13, 2026
Saving a Post Returns a 502? Synchronous `media_handle_sideload()` Blows Past the Edge Proxy Timeout
July 2, 2026
Category Pages Showed `00 stories` Despite Published Posts? A Leftover Seeder `meta_query` Was Excluding All Real Content
July 1, 2026
Built a Custom Gutenberg Block but It Never Shows Up in the Inserter? The Site Runs Classic Editor
July 1, 2026
Cleanup Script Dies With `Call to undefined function` on `require 'wp-load.php'`? Wipe WordPress via Raw `mysqli` Instead
June 30, 2026
`xmlrpc.php` Still Returns 200 After `add_filter('xmlrpc_enabled', '__return_false')`? That Filter Does Not Kill XML-RPC
June 30, 2026
WordPress Importer Dies Mid-Run With Cloudflare `524 A Timeout Occurred`? The 100-Second Cap Is Real, Rebuild It as a Batched State Machine
June 30, 2026
The EUR/USD Currency Switch Did Nothing? The Prices Were Stored as Pre-Formatted Strings Like `'€450'`
June 29, 2026
Your PHP Filter Runs but the Page Is Empty? A Theme Missing `page.php`/`search.php` Silently Falls to `index.php`
June 24, 2026
A Custom Post Type at the Root URL (`/title/`) Falls Through to the Homepage, Fix It With Per-Slug Rewrite Rules
June 24, 2026
Naming a 2nd WP_Query `$more`/`$page` Collides With a WordPress Global, a Fatal That Masquerades as Out-of-Memory
June 24, 2026
The `get_theme_mod($id, $fallback)` Trap: The Fallback Arg Silently Overrides Your Registered Default
June 23, 2026
PHP 8 Fatal: 'Attempt to read property on array' When a Getter Returns an Array
June 23, 2026
Smart Quotes (“ ”) Sneaking Into PHP Took Down the Site: A Baffling Parse Error
June 23, 2026
Reusing `$x` Silently Wiped the Content When Porting React to PHP
June 23, 2026
`$wpdb->prepare()` With an Array Param Returns Empty on WordPress 7.0
June 23, 2026
Class 'WP_List_Table' not found: How One Always-Loaded File 500s Your Entire Frontend
June 21, 2026
strtoupper Turned a WordPress Category Chip Into 'BANKING & NEOBANKS'
June 16, 2026
Two add_rewrite_rule Calls With the Same Regex Don't Chain, the Second Overwrites the First
June 15, 2026
PHP 8 Bug: 'floatval' as a sanitize_callback Causes a Fatal Error in WordPress
June 6, 2026
update_post_meta Silently Strips Your JSON Slashes (and Hides the Bug for Days)
June 2, 2026