Yesterday, I noticed that editing my past comments on my blog (because I’m the fucking administrator, and sometimes I add stuff at the end of older comments) strips then of all formatting, including the links.

I then noticed that newly added comments are also bare. If formatting were the only thing lost—but the properly formatted URLs were lost, too.

Editing any comment in the Comments admin panel was leading to bare text being pushed into MariaDB. WordPress was breaking my comments! Editing them directly in phpMyAdmin was the only way to restore the original content.

I’ve spent some time until I found the fucking culprit.

It was the update from version 3.6.1 to 4.0 of the WP Coder Pro plugin.

I have chosen to use this plugin for a very straightforward feature, as suggested by their official description:

WP Coder Pro is the WordPress plugin for embedding custom HTML, CSS, JS, and PHP snippets on your website pages and for creating unique template pages distinct from the theme.

So yes, I needed a simple solution to embed some HTML (with CSS) in a blog post. Think of embedding an entire HTML page instead of pasting a dozen of paragraphs in the fucking Gutenberg editor, only to have them broken for the lack of table support, and then trying to use a plugin for tables, and so on. Yes, WordPress has become a huge pile of shit, and it still lacks a way to just add your own HTML and have it displayed as it fucking is!

And WP Coder Pro “just worked”—that is, until yesterday.

Now, the developers of this shit use the term “snippets” to mean two different things:

  1. The user-defined snippets, actually called “Codes” (see the “All Codes” section).
  2. The “performance-enhancing, website-tuning and bug-introducing” snippets provided by the plugin itself. Such snippets can be disabled, but cannot be uninstalled. This shit includes functionality that would normally be provided by several plugins, but they just force this stuff down every user’s throat!

The Snippet Manager in version 3.6.1 has 3 sections: “Disable (sic!) snippets”; “Enabled (sic!) snippets”; and “Changed (sic!) snippets”. But all 3 tabs show snippets that are most certainly disabled, because there’s a checkbox at the left of each snippet, and it’s not checked. My interpretation is that the developers meant this: “Snippets that disable functionality”; “Snippets that enable or add functionality”; and “Snippets that change functionality”. Never trust software developers to have anything in their robotic heads.

But it was fine as it was. I didn’t need their plugin to affect the way my WordPress worked.

And then, version 4.0 arrived. As per their changelog:

4.0

  • Improved: Refreshed interface for better user experience.
  • Added: “Open External Links in New Tab” snippet.
  • Added: “Redirect 404 to Homepage” snippet.
  • Added: “Limit Comment Length” snippet.
  • Added: “Disable HTML in Comments” snippet.
  • Added: “Disable Trackbacks & Pingbacks” snippet.
  • Added: Live preview feature for HTML & CSS snippets.

The fuck they did add some more crap nobody asked for.

This has also changed the design of the Snippet Manager. Now each snippet has a sliding button: to enable it, you slide the switch to the right, and it changes the color.

So this is indeed a major version upgrade:

  1. New UI.
  2. New snippets.
  3. New bugs.

Because the “Disable HTML in Comments” snippet was disabled, but its functionality was enabled!

The fix was to downgrade or rollback to version 3.6.1. To this purpose, I recommend the WP Rollback plugin.

I also recommend you disable the automatic updates for WP Coder Pro, so you could then disable WP Rollback. WordPress will pester you that there’s an update available, and there are several ways to stop this from happening, but I won’t give you any suggestions on that one (ask a chatbot if you really want to).

I do have a suggestion, though: if you’re a religious person, pray to your God for the developers of this plugin to get rectal cancer. They have tested shit. They have added shit. They tried too much. They wasted valuable time and nerves from my life. I had other plans for my Sunday evening!

Upgrading for the sake of upgrading (not for security reasons, and not for bug-fixing reasons either), and adding functionality that isn’t in any way specific to the semantics of a software’s name should be punishable.

If it ain’t broke, don’t fix it.

BTW, this is the comment that I wanted to edit and whose destruction triggered my attention.