I’ve recently been studying the ‘nuts and bolts’ of creating custom themes and plugins in WordPress. It’s in my nature to want to know how things work ‘under the hood’. I remember getting in big trouble as a child for taking things apart (and not being able to put them back together) !
WordPress is still characterised by many as ‘a Blogging Platform’ however it is in fact so customisable, it can serve as a fully fledged Content Management System (CMS). You can add and remove custom fields to posts, create custom taxonomies and set up the Edit screens accordingly. You can choose from menus based on Pages, on Posts or define your navigation via a simple drag and drop interface.
From a Web Developers perspective WordPress handles all the boring but vital stuff that you don’t want to get wrong… Security, Internationalisation, upgrades, archive navigation, ‘pretty URLs’ re-writing , media uploads, setting and retrieving options in the database, ‘content management’ and all the SQL queries, customisation, organisation ( taxonomies) and user admin ( capabilities)… the list goes on and on and you get all this for free !
WordPress provides a complete Web based environment for content creation and management. Once configured WordPress can be used to make new pages with out any knowledge of HTML or CSS coding. There are many other CMS platforms, some developers create their own, effectively tying their clients to a proprietry platform that no one else will know how to support. Part of the beauty of using WordPress is the sheer size of the community behind it. People who create themes and plugins and contribute to the core code all help to make a rock solid product that through its ease of use and ubiquity is becoming more and more the ‘go to’ Web design solution.
Designers and Developers are starting to turn to WordPress even if there is no specific requirement to enable non technical end users the ability to modify their content. The availability of Themes and Plugins enables a very rapid turn around of Web sites, providing plenty of customisabilty and design choices, but again using tried and trusted building blocks.
There are many plugins that let you modify pretty much anything in WP. I really believe it’s worth the effort learning how to use the PHP functions and tags that comprise the WordPress core and its API’s as well though. Having this understanding means one can create custom template files and provides the developer with tools and building blocks that can be used to turbo-boost productivity. Projects can be more rapidly assembled and more easily maintained. There is complete customisability where required via a well documented and stable set of API’s. ‘Hacking’ WordPress is also a great way to get practical experience of Web coding and see how others have written code.
Knowledge of the ‘guts’ of WP and use of front end, combined with some Web Coding skills, support from the WordPress community and a bit of creativity leads the developer ‘standing on the shoulders of giants’ IMHO ! It’s also great fun 😉