I personally believe that developing custom WordPress theme is not only about creating ‘skin‘ or ‘appearance‘ of a WordPress-based site. It’s about the whole experience: presenting the content (obviously), and what often be missed is since WordPress is not only being used for blogging for the time being, customising the content insertion mechanism is often needed. Not to mention since the rise of touch-interface-based mobile device, lots of thing should be adjusted and optimised for mobile device. During my two more years of WordPress theme (and front-end in general) development, these are the distinctive details that would make your WordPress theme more awesome and functional:

  1. Favicon
    IMO, website without favicon doesn’t feel well-crafted.
  2. Touch Icon
    The one will mimic an app icon if you ‘add to Homescreen’ your site on iOS device.
  3. Custom Login Screen
    Make your site’s administrator feels familiar with the site during the login process to the WordPress dashboard.
  4. Styling for all kind of markup that will be used on content
    Headings, paragraphs, blockquote, table, pre, ordered & unordered list, you name it.
  5. Touch-friendly UI
    Okay, I’m gonna need another post to describe this point.
  6. Lightbox-alike Gallery / Image Previewer
    Jumping to a page of image file sucks.
  7. Multi-level support for dropdown navigation
  8. Custom tinyMCE button instead of dropdown of shortcodes
    Shortcuts are okay for WordPress-savvy user but confusing for average ‘user’.
  9. Sprited images
    It’s obvious, right?
  10. Mobile friendly design
    It’s not about using responsive design and aggressively removing most of the elements, it’s about the rise of post-PC device and cope with that.
  11. Decision over options
    Don’t bloat the user with configuration on theme options. Just give them the ability to easily adjust essential things, not all of them.
  12. Page templates
    Because unimaginable things often be shown on pages.
  13. SEO Optimised markup
    What’s the use of beautiful design if it can not be found?
  14. Editor styling
    Content creating appearance should mimic the end result as similar as possible.
  15. Custom meta box
    Don’t let your user use custom field to add custom information of a content. Just don’t.

Okay, those are the basics. Do i miss anything?