Case notes
Single problems on this site, followed from symptom to cause: every pretty URL returning 404, a PHP function that deleted most of a post over one character, plugin settings that outlived the plugin, a scheduled post that published the moment it was saved. Many include the wrong theory as well as the fix, because the wrong theory is usually the first one you meet.
By John Patzi 6 notes
Case notes My log parser read a Chrome version number as an IP addressA dotted-quad pattern skipped every IPv6 client in my access log, then filled the gap with the browser version string. 3,565 lines affected, and the output looked like ordinary data.Read the note
Case notes I built a three-step workaround for something with a one-word fixI scheduled a post four days out and it published immediately. Then I did it again an hour later. WordPress has a flag for exactly this case, and the comment above the code that caused it names the escape hatch.
Case notes The rule in my own documentation was backwards, and following it never hurtFor months my notes said WP-CLI strips style and link tags unless you name a user. I measured it. Nothing is stripped without the flag, and naming a user is the only thing that could turn the filtering on.
Case notes I deleted the plugin. Its settings stayed behind and switched the tracker back onRemoving an analytics plugin deleted its files, not its configuration. Four days later somebody activated it again and it armed itself in seven seconds — no login, no consent screen — against a page that promises nothing loads until you choose.
Case notes PHP strip_tags deleted three quarters of my post over one characterA word count said 1,111 for an article of 3,742. The cause was one ASCII arrow in a code block: PHP's strip_tags took it for a tag and discarded everything after it. Escaping that single character recovered 15,466 bytes.
Case notes Every pretty URL returned 404, and the line I blamed was innocentEvery pretty URL on this site returned 404 and nothing was written to any log. I blamed one unescaped quote in the virtual host's log format line, fixed it, and wrote that lesson down three times. Another site on the same server runs that line today and works fine.