Hack: Wordpress i3theme IE6 sidebar problem solved


The awesome i3theme that this blog uses is a treat to the eyes, except to a lot of IE6 users. The issue is that for many people viewing wordpress blogs using this theme, the right sidebar doesn’t appear on the right, but **below **the middle column main area.

I didn’t know this problem existed as I don’t use IE but when a friend mailed to let me know, I started hunting around for the solution. Infact, found on the home page of i3theme, that the author acknowledged this bug and fixed it in v1.5, except the fact, that the fix doesn’t work. Because this blog was also using the same version.

Now, not taking anything away from the author, who has done a wonderful job with the theme, I took it upon myself to fix it, and the solution turned out to be really simple.

The first thing I noticed was the “tag cloud”. Since many of my posts are tagged “Windows Mobile”, this particular tag had become pretty big, so much so that it was being cut off by the left sidebar boundary. But when I viewed the site in IE, it showed the full tag, but the last 2 letters were jutting out of the left sidebar. which caused the middle area to shift towards right ever so slightly, nudging the right sidebar towards the bottom in the process.

Hmm, this was the reason that many people never see this problem because they may have a particularly balanced blog (or with shorter tags) where one particular tag does not go out of the boundaries.

The solution as anyone can guess now is to keep that tag within its range. Now, I call my solution as a hack or a workaround because ideally, we should be able to create a method to make the tag “word wrap” inside the edges. But since I was unable to get this done, I chose a simpler way. Make the tag small enough so that it fits

Now, how are we going to do this. Wordpress uses a template tag called “wp_tag_cloud” to generate the tag cloud. (Usage: )

Now, this tag takes, amongst various other parameters, the values for the largest and smallest font size used for the cloud. So, what all we have to do is find the tag and pass the appropriate parameter. So, without further ado, here are the steps:

  1. Go to the path: /wp-includes/widgets.php.

  2. Search for the function “wp_widget_tag_cloud”.

  3. change the call “wp_tag_cloud();” to “wp_tag_cloud(’largest=17’);”, without the quotes. You may need to expermient with the number you pass as argument according to your tags.

  4. Now, save the file and reload the blog in any IE window and you are done. (Delete the cache first if you are using a cache plugin).

Let me know if this worked for you.


See also