Challenge: Write a Theme

One thing is to review themes. Another is to get it through the needle’s eye. Here’s the quest.

  • Hack a theme that’ll meet all requirements and WordPress standards.
  • The aim of the theme is to teach how to write a theme.

In this way the theme will be usefull not only for me, but for anyone who wants to learn how to make a theme.

Development environment

The core-WordPress themes don’t use preprocessors and similar. They want a clear and easy to read code. The aim of the core themes is to teach the art of theming.

I’m working on a LAMP server. So the code and methods will be easy to follow for any *NIX user. But we should not forget Windows users. Here’s a challenge. I don’t use Windows any more.

Nodejs

However in the business rapid development is often used. My approach is to develop a theme with Nodejs tools, such as:

  • Bower (package manager)
  • Sass (CSS preprocessor)
  • Gulp (compiling, automatic test)
  • Github will play a major role for versioning.
WordPress standards

The theme is an attempt to follow WordPress coding standards. Theme review tools, such as debugger plugins and code sniffers will be used. So will the theme debugger plugin. And of course the debugging features in WordPress must be activated. Edit these lines in wp-config.php:

 // Enable WP_DEBUG mode
define( 'WP_DEBUG', true );

// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );

// Disable display of errors and warnings 
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

// Use dev versions of core JS and CSS files (only needed if you are modifying these core files)
define( 'SCRIPT_DEBUG', true );
Brainstorm

Multimedia designers tend to love animations. I’ll make a theme with many creative features, such as:

  • Animated splash frontpage (demonstrate costum pages).
  • CSS and JavaScript libraries (demonstrate how to implement external scripts and libraries). Such as:
    • Jquery, Jquery-ui (styling GUI elements).
    • Bootstrap (responsive grid, and menu)
    • Tweenjs or perhaps Wagerfield’s cool Parallax library

Something along these lines. You know: floating goblins, fairies, and creatures out of norse legends of old. That kind of stuff.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.