OK, so I had started out this blog by singing the praises of how handy a publishing and website platform WordPress can make, not to speak of the other benefits to having a blog from a traffic and search engine optimization perspective. Only then I ran into this leeeetle problem with the new 2.1.1 realease of WordPress upon first installing it:
The WYSIWIG editing tool in the new version is altering the HTML code of your posts and pages! This by trying some ill-conceived corrections on people’s tags/code using brute force regular expression matching replacement techniques. Those can get out of hand when someone doesn’t consider all of the potential "greedy matching operator" pitfalls.
Don’t worry if that last two sentences didn’t mean anything to you. Bottom line is, they screwed up. They wanted to be all "big brotherly" in correcting people’s HTML/XML, and simply overreached.
Imagine your own custom forms, <div> tags, even <p> paragraph tags disappearing, and most of the formatting of your posts and pages along with it. Paragraphs? What could they possibly have against paragraphs that would make it so necessary to mess with them?
Well, I could have just backed out the release and gone back to the old 2.0.8 version, but that was clearly being presented as becoming outdated and had some bugs in the post/page editing functions already. So I went on the WordPress support forums to see what was going on.
To my amazement, there didn’t seem to be too much urgency at all to fix this problem. I mean, the darn thing is only a piece of software to create blog posts and pages, why would such a small detail as screwing up your posts and pages be a big deal?
Right. At some point someone suggested simply keeping the WYSIWIG editing turned off for a user (i.e. me) which can be done on the user profile section. That got me to thinking that I could reprogram the entire less than efficient post/page editing page a little and turn it into my own personal power-user playground for pure HTML only. So I started digging into the guts of the thing, the actual PHP code…
What I found wasn’t pretty. While I was able to create the changes I wanted to over a few weeks time (thank goodness I was a computer guy/programmer in a former life), it certainly took longer than it should have had to.
The code underlying WordPress is simply a mess. I mean, no offense yah? But a blog is in principle a relatively simple database application with a Web front-end. And they coded that thing in a labyrinthine way that defies all description.
Certainly, at some point the execution speed of your blog might become an issue in case you were getting hammered with traffic. Maybe one day I’ll have the spare resources to sick a few coders on the problem with guidance about what good quality looks like.
There is actually a universal database app builder software out now that could allow this to be done in a strictly design-based, conceptual way with minimal coding. That would be the thing, create the next WordPress, only one where you can easily extend it to be your membership site, forum, etc. as well.
In the meantime I’m going to find a way to post the changes to the code to a tool such as SourceForge, probably good for my own sanity, and for those that might need this solved for themselves. Maybe I’ll also do a Camtasia video that shows the internal changes I have made.
All that being said, WordPress is still a powerful tool that I am grateful for having. Being able to go right into the code and change things can be a real advantage, one that I intend to make good use of from hereon out, even if the code isn’t very pretty or efficient.
I’ll keep sharing my findings with you on occasion. One example, I added all sorts of custom buttons on the edit form that are HTML shortcuts to drop in exactly the stuff I use the most.
Bottom line, if you are using WordPress and haven’t yet upgraded, you may want to study this issue very carefully. I hear that the $300 Semiologic plug-in for WordPress comes with a WYSIWIG editor that works, then again I haven’t tested it, and I am a little gun shy about getting locked in to something like that where they don’t control the release of the core WordPress code.
Maybe I’m being paranoid, or maybe it’s just that the fun of a free open-source app like this goes out the window when you are suddenly looking at paying Microsoft-style prices for an add-on.
Best wishes – Alex Schleber