5 WordPress Frameworks to Jump-start Your Theme Designs

This is really awesome. What plug in are you using sir?

If you need proof that most ‘frameworks’, particularly when it comes to HTML and CSS defeat the point of using CSS, one rarely has to look further than a CMS template. Wordpress in particular, atop it’s gaping security holes and insecure by design attitude, further saddles you with javascript for nothing, half-assed auto-generated classes for no good reason, and endless pointless bloat you have so little control over you end up having to gut a third of the system to fix any of it… Just as a recently departed friend had spent two years working on and frankly, I think it’s part of what drove Dan to an early grave!

Let’s use the “commune” theme as an example. The 40 second pageload time at 22mbps is just one of many indicators on just how bad this theme is. 508k total, compression only drops it to 438k, and almost HALF of that is javascript for NOTHING! When you have fifteen separate script files, the only logical explanation is ineptitude of the highest order… as proven by the 42 separate files and 50k of markup to deliver 5.7k of plaintext and some dozen content images. This is all before we even look under the hood.

Goofy inconsistent indentation, inlined STATIC scripts, BROWSER SNIFFING creating classes on the BODY tag, endless pointless nested DIV’s with classes for no good reason, classes on elements that should be inheriting off their parent, ID’s on elements like H1 (which should be a unique therein never needing a class or ID), vague/meaningless numbered classes that serve NO purpose in ANY theme… Just look at this bull:

<div id="topmenu">
					<h1 id="blog-description">Just another WordPress weblog</h1>
	<div id="page_menu"><ul><li class="page_item page-item-14"><a href="http://www.cozmoslabs.com/projects/commune/?page_id=14" title="Our Staff">Our Staff</a></li><li class="page_item page-item-17"><a href="http://www.cozmoslabs.com/projects/commune/?page_id=17" title="About us">About us</a></li><li class="page_item page-item-29 current_page_parent"><a href="http://www.cozmoslabs.com/projects/commune/?page_id=29" title="Contact">Contact</a><ul><li class="page_item page-item-213"><a href="http://www.cozmoslabs.com/projects/commune/?page_id=213" title="Subpage">Subpage</a></li></ul></li><li class="page_item page-item-136"><a href="http://www.cozmoslabs.com/projects/commune/?page_id=136" title="Support">Support</a></li></ul></div>

H1 should never need an ID unless you are using it as a A# link (which it’s not), #topMenu and #pageMenu are completely pointless wrappers that shouldn’t even be doing anything since the ID could just be put on the UL… not ONE of those LI should have or even need classes on them, title attributes that are redundant to the text inside the anchor (if the anchor contains meaningful text, you shouldn’t be wasting bandwidth on TITLE!)… In other words, someone didn’t know enough HTML or CSS to have any **** business WRITING said code.

Take one of the posts as another example:

<div id="post-157" class="hentry p10 post publish author-admin category-console untagged comments-open pings-open y2009 m03 d19 h17 alt slug-video-game-publishers-pressure-sony-for-playstation-3-price-cut">
				<div class="thumb_150x150">
					<a href="http://www.cozmoslabs.com/projects/commune/?p=157" title="Video Game Publishers Pressure Sony for PlayStation 3 Price Cut "><img src="http://www.cozmoslabs.com/projects/commune/wp-content/uploads/2009/03/free-playstation31-150x150.jpg" alt="" class="post-image" /></a>				</div>
				<div class="blog_listing">
				<div class="user-comments">
				 <span class="comments-link"><a href="http://www.cozmoslabs.com/projects/commune/?p=157#comments" title="Comment on Video Game Publishers Pressure Sony for PlayStation 3 Price Cut">66</a></span>				</div>
				<h2 class="entry-title"><a href="http://www.cozmoslabs.com/projects/commune/?p=157" title="Permalink to Video Game Publishers Pressure Sony for PlayStation 3 Price Cut" rel="bookmark">Video Game Publishers Pressure Sony for PlayStation 3 Price Cut</a></h2>
<div class="entry-meta"><span class="color-meta"><span class="entry-date"><abbr class="published" title="2009-03-19T15:28:05+0000">March 19, 2009</abbr></span> in <span class="cat-links"><a href="http://www.cozmoslabs.com/projects/commune/?cat=20" title="View all posts in Console" rel="category">Console</a></span><span class="author vcard"> by <a class="url fn n" href="http://www.cozmoslabs.com/projects/commune/?author=1" title="View all posts by admin">admin</a></span></span><!-- .color-meta --></div><!-- .entry-meta -->
				<div class="entry-content">
<p>Sony risks losing more development funds to Nintendo without price cut according to publishers<br />
Game publishers are pressuring Sony to cut the price of the PlayStation 3 or face the risk of more development funds shifting to the Nintendo Wii according to a Bloomberg article. Sony, which used to be the undisputed industry leader, currently sits [...]</p>
			<p><a href="http://www.cozmoslabs.com/projects/commune/?p=157" class="green-read-more" title="Read More">Read More <span class="meta-nav">&raquo;</span> </a></p>
								</div><!-- blog_listing -->
				<div class="clear_hentry"></div>
				</div><!-- .post -->

Enough classes for five separate pages on the first DIV alone, unnecessary inner div on the thumb, unnecessary div and/or span around user-comments (since the anchor could be used bare), unnecessary class on the H2 (since that could inherit off the parent), multiple nested spans for no good reason on the ‘entry meta’ nonsense, clearing div’s like it was still 2002, and of course the comment placement that most certainly is tripping rendering errors in IE – wonder how much hacking they used in the CSS to work around that.

In a lot of ways Wordpress and coding frameworks are like Apple computers. Apple doesn’t make computers for people who know ANYTHING about hardware… or quality. Much the same could be said of site-building with Wordpress, CSS Frameworks or Javascript frameworks. They are a blight upon the Internet and I truly pity anyone DUMB ENOUGH to try to work with said methodologies/technologies/systems. It’s exactly this type of garbage that makes me tell certain developers "do the world a favor, back away from the keyboard and take up a task somewhat less detail oriented like macramé weaving.

Could be worse though, the Wordpress could be storing the mySQL database name, user name and password as defines and leaving the connection open during every include. OH WAIT!!!