I recently started creating a WordPress theme from scratch.
I did this so I could understand a few things:
- The back-end of WordPress and how it fits together
- How plugins, widgets and themes are constructed
- How to create dynamic web-pages for mobile devices using CSS3 and HTML5
Creating everything from the ground up helps the understanding of how things fit together – but if you just want to get something working then there are plenty of other themes out there that will kickstart your development. (See Child Themes)
Throughout this process I have set myself a goal of creating a theme that is accepted by WordPress so the public can use it easily (although I am not sure I will have the time to maintain it going forward). If that goes well then perhaps I will even create a Premium Theme that I could sell if it’s good enough. That would give me motivation to keep the theme updated!
There are many articles out there that discuss the different CMSs (Content Management Systems) and the benefits of WordPress in comparison. I have a little experience with a few other CMSs – Escenic, a couple of bespoke CMSs, Joomla, Drupal…etc… However, perhaps through familiarity, much prefer the use of WordPress.
WordPress just works. It is well supported with decent community designs and features (although a few plugin’s don’t work the way you want – so create your own as per these tutorials or use recommendations from others).
A few people have commented to me that WordPress is a bit antiquated, however I feel it is continually updated with new features in the back-end and front-end (through themes).
WordPress works extremely well for almost any purpose of a website, not just blogs; but news sites, personal sites, information sites, static sites, commercial sites… and it is really quick and easy to set-up.
Also it is FREE!
Anyway, this page will include more and more links to tutorials over the coming weeks to help people (like the future version of myself that will forget) create and tweak their own website through some of the more technical parts of WordPress using PHP: