No sooner did I write the post about troubleshooting I came across a WordPress error that took way more time to solve than I expected.
One thing I know as a programmer is that every single character in a file is critical. I can not even guess how many times a simple question mark or apostrophe has caused me to lose hours of time trying to find. And here is a perfect case of troubleshooting a WordPress error that was so simple, yet so hard. The error was an XML Parsing Error.
I have a new site (NonPartyPolitics.com) that I have been working on and I realized the RSS Feed was not displaying, the following error was popping up.
Looks pretty obvious, there was an error at line 2, column 1. Step one was to see what was happening, so the first thing I did was look at the source of this page. Nothing jumped out at me, so I loaded a working WordPress site, pulled up the RSS feed and looked at the source, I placed the 2 files side by side and there it was. On the feed with the error there were 2 blank lines before the code. Interesting. I then pulled up the home page for both sites and the same thing, there were 2 extra blank lines on the home page source. This told me that the problem was probably not in the RSS code, but it could still be in the code somewhere.
The next logical step was thinking of what I changed last. I really had not done much outside the template except installing a couple plugins. So, I turned off all plugins. Now the hard part was having a little patience. I could see that on the home page the 2 blank lines were now gone, but I had to edit a post and wait for the feed to catch up.
Sure enough that was it, 2 blank lines were gone in the feed. Now, which plugin?
Here is a little logic for you, if I have 2 blank lines, and I know a plugin is causing it, all I need to know is which plugin is issuing 2 extra carriage returns. The key to this is to know that I was not looking for the plugin actually writing the blank lines, I was looking for a plugin with 2 extra carriage returns. And I found the culprit.
I am not going to call it by name because the plugin worked fined on other sites and it did not download from the original like this. Either I did something to cause this problem, or it was just a fluke.
Here is the plugin before I fixed it…..
and here is the plugin after the fix…
So there we go, a real WordPress troubleshooting case solved. All of that because of 2 extra carriage returns.
Make sure when you are working with code you are aware of every character and every space!