This is a Post on a WordPress Design Blog that Talks about Super Mario Bros.

Sounds silly, I know, but here’s a nice quote on “Great products are triumphs of taste” by 37signals:

Want to build a great iPhone app? Go listen to Billie Holliday. Trying to design a piece of hardware? Visit a Frank Lloyd Wright house. Aiming to write great marketing copy? Read Aldous Huxley. Need a color scheme? Go to the museum and check out some Mark Rothko paintings.

So. Super Mario Bros.

Read more →

Theme Developers, Learn to Steal the Right Way!

I’ve talked about this on WPTavern before, but Leland’s tweet made me feel that we should talk about this more.

Remember when LogoMaid ripped of Dan Cederholm’s logo? Everybody pretty much agreed that that was illegal. And so imagine my surprise knowing that there are WordPress themes that are direct copies of Twitter, of Facebook, of Basecamp, and what have you. Heck, we even have a theme describing itself as “The exact Facebook clone theme for WordPress” in the official Theme Directory. This I believe is a case worse than the LogoMaid issue.

No clone themes, please.

Please stop this. The freedom in GPL does not mean the freedom to steal copyrighted design. Stop making clones of popular websites and turning them into WordPress themes. It doesn’t matter if you release it only for personal use, or under GPL, if you code the CSS yourself, if you painstakingly recreate the graphic elements in Photoshop. It’s still, as Ryan Hellyer puts it, “illegal, immoral, and unethical.”

Instead of doing that, go and read this article by Cameron Moll, “Good Designers Copy, Great Designers Steal“, and learn how to “steal” a design in a much better (and ethical) way. Learn what makes them work, and improve it:

This article wouldn’t be complete without a warning to be careful when copying well-known sources. If I were to summarize this warning in one sentence, this would be my golden verbiage: copy the inspiration, not the outcome.

Or teach us. Write an article on how you do that AJAX load more posts wizardry. Or how to make that rounded corner work on every browser. Show us how to recreate your favorite website’s cool feature in WordPress.

Now that will be awesome.

Update: Another discussion is up at Theme Lab, WordPress Clone Themes – Your Take?

Introducing the WordPress Theme Development Checklist Tool

Last weekend I was looking for an excuse to play around with JQuery, CSS3 and designing in general. After looking around for a bit I decided to make a more interactive version of the Theme Development Codex on WordPress Codex.

WordPress Theme Development Checklist Banner

My version formats that list for better readability, adds checkboxes and counters so you can track your progress, editable labels, and so on.

You can also download a copy for your own use. Click on the image above (or here: WordPress Theme Development Checklist Tool) to check it out.

Any ideas, comments, bug reports, let me know in the comments area.

How Do You Keep Track of Theme Usage?

A question: how do you guys keep track of sites that use your theme?

I find that Google’s Webmaster Tools show links to my site, including those from the link on the footer area of my themes, but its update can be quite slow and incomplete.
Sample of Google Webmaster Tools link to site area

What about you guys?

Site Design Tweaked

Just did some small CSS tweaks to this site. Added more breathing space and removed some unnecessary elements. Went wider (990px) over the old one (960px).

This is more a “here’s when I played around with Firebug and ended up making the site look different from the local one” personal reminder post, not a “come over and take a look” one, but if you do find something breaks somewhere, kindly let me know.

Hiding All Children of a Certain Category

With wp_list_categories(), you can exclude categories in some ways:

  • You can hide any category with the exclude parameter, use comma separated list for multiple categories.
  • You can show only the children of a certain category with the child_of parameter.

However, there seem to be no way with to make that function completely hide the entire children of a category. Sure, you can use exclude, but if you have a gazillion of child categories and/or adding them frequently, thing can get cumbersome.

Wait. Why does this matter?

Well, a funny edge case with Pico is that when there are a ton of child category in a dropdown menu, it will create a long, empty white space even after the footer ends. It turns out that Suckerfish dropdown works by hiding those submenus from view, but they’re still there affecting margins. If you have a lot of them, the page will get longer.

So a quick solution would be to hide all children from that category. I looked around and didn’t seem to find an answer. I was hoping for the exclude_tree parameter to do the job, but based on my (admittedly limited) experiment, it won’t do whatever it is supposed to do (the trac ticket is for wp_list_pages(), but I suppose they’re the same).

CSS to the rescue

There’s probably a solution that involves writing a plugin and mucking around with PHP, but being lazy I then realized that wp_list_categories() outputs a class with the category’s ID inside each <li>. In that case, a simple display:none should do:

.cat-item-15 ul { display: none; }

The code example above will hide all children of the category ID 15. Simple, easy, with the added benefit that the children category links still show up on the HTML and therefore readable by search engine crawlers and page readers. Downside is that it only works specifically for that case; can’t really use it for a catch-all solution.

CSS Experiment: Centered Ordered List with List Content below its List Number

Wait. Why does a CSS article show up on a WordPress development blog?

Well first of all I stumbled upon this trick accidentally while developing this one theme I’m working on. And also I promise it will be short and simple enough. So do read on.

For the theme I want to display a Table of Content-style home page that will look like this (click the image to view full-size):

Centered ordered list with list content below its list number

That is a centered ordered list with list content below its number. The HTML structure I have is:

  <ol id="toc" class="clearfloat">       
    <li><h2><a href="#">I Learned that Adding an Egg to Ramen Soup is Awesome</a></h2></li> 
    <li><h2><a href="#">Why I believe printers are the spawn of Hell</a></h2></li> 
    <li><h2><a href="#">I nominate the most dangerous enemy ever created.</a></h2></li> 
  </ol>

…and so, the CSS.

This gets me curious because as we all know, list numbers normally show up to the left of the text. After a bunch of crazy experiments, some of which kept me puzzled about what really happened, I got this solution (leaving out the various text-formatting codes):

body {
  counter-reset: toc 0;  
  } 
 
#toc li:before {
  content: counter(toc, lower-roman) ".";
  counter-increment: toc;
  }  
 
#toc li {
  list-style-type: none; /* hide the numbers, show them via the toc li:before above */
  text-align: center;
  }

Here’s the main idea. I found out that if I use list-style-type:none and use generated content to display the numbers, the number will show up on top of the text. Great. Next we add text-align: center; and bam, everything is centered nicely as expected.

This is the first time I learned about counter-reset and counter-increment. They basically allow you to set the starting number on a list. I use 0 in my CSS so mine starts from 1, but that number can be anything. Here are some articles I found about this topic:

Results and Demo

Here’s a demo page for this CSS experiment. I’ve tested it and it works on Firefox 3.5, Opera 10, Chrome 3 and Safari 4. IE 8 doesn’t seem to support content, so it won’t show the generated number. I can live with that.

And that’s it. Hope it can be useful! I’ll release the theme pretty soon, so subscribe to the feed if you want to be updated.

Page 3 of 912345...Last »

Latest Links More →

Custom Shortlinks for WordPress

Have your own short domain name for the purpose of shortlinking? Here’s an easy way to combine that with your WordPress install.

The Quick Start Guide to Using Google Webmaster Tools With WordPress

GWT is a great, frequently updated features like showing you search queries volume, malware and crawl error diagnostics and links to your site. If you don’t use it yet, you probably need to. This will help you get started.

WordPress & jQuery Contact Form without a Plugin

I would recommend this either if you want more flexibility or to learn how to code a contact form.

Understanding and cleaning the pharma (spam) hack on WordPress

How to fix that hack:

This attack is very interesting because it is not visible to the normal user and the spam (generally about Viagra, Nexium, Cialis, etc) only shows up if the user agent is from Google’s crawler (googlebot). Also, the infection is a bit tricky to remove and if not done properly will keep reappearing.

Web Safe Fonts Cheat Sheet

An updated (written in April 2010), well researched, CC-licensed Web safe fonts cheat sheet, available both in low-res PNG and high-rest PDF. Even the article is useful as well.

The Nicest 2010 Child Theme You’ll See Today

The Timaru Mental Health Support Trust website, made for charity by Team USA (comprised by web superstars like Jason Santa Maria, Dan Mall, Liz Danzico and Automattic’s John Ford) during the FullCodePress competition, is actually a clever child theme of 2010.

More recap by JSM, Daniel Mall, and Liz Danzico.

WordPress 3.0 Theme Tip: The Comment Form

The simpler way to code comment form (once you understand how hooks and filters work).

Showing and hiding content with pure CSS3

I like it, I think it’s short and easy to understand.