Flexing My WordPress Muscles

The last couple of weeks have seen me having a bit of fun with WordPress.  I have to be a secret squirrel about the exact details so please excuse the vagueness for the time being. I’ll be able to disclose what I’ve been working on full in the next few months. All I can say for now is that I’ve been building a new website for the Australian national association that represents a major hobby. They approached me to find a better way of publishing their annual journal online and to (perhaps) give their website a facelift. Their old site (still is) built in frames and uses image links for all site navigation. Their journal is available for download via various PDF files but I couldn’t actually get most of it to download at all in Chrome or Firefox. So, things were horribly broken.

Given that the hobby this organisation represents is one that my partner is interested in I was prepared to help them out so after a few discussions with their president I started building something for them in WordPress.  The reasoning behind this was to give them a much better way of managing their own content and to give them a system that could be maintained and modified by any reasonably competent web developer.  Right now to produce web updates they need to edit raw HTML files and email the files to a third party so they can be FTP’d to their web-server.  Yuck.

I’ve used WordPress several times in the past, but mostly just as a simple content management system. I’ve never really tried to extend it other than via a plugin that enabled me to insert some simple PHP into posts. I’ve never looked at child templates, I’ve never looked at custom post types, and never looked at extending it via PHP.  This new website looked like an ideal opportunity to learn a bit about WordPress as I tried to meet the key requirements for this new site:

  1. Move all static content from the old website into the WordPress platform.
  2. Create a conservative yet modern and attractive design for the site that did not require the hiring of a graphic designer (I know this is silly, but they don’t have much money to spend).
  3. Make yearly journal PDF’s available via download but move journal table of contents into web-pages.
  4. Create a list of journal authors and list the articles they have written for the journals.
  5. Create a list of journal articles including titles, keywords, and (of course) associated them with the relevant journal.
  6. Make the journal table of contents, article titles and keywords, and author names searchable via the WordPress search function.

I was confident that items 1 and 2 could be accomplished via vanilla WordPress functionality.  Points 3 through 6 were going to require some custom database tables, a way of pulling data from those tables, and a way of displaying the data in WordPress pages.  Point 6 was going to require a bit of massaging of the built in WordPress search engine.  Even though I’ve only spend a couple of dozen hours completing the new website I learned enough about WordPress in that time to be hellishly impressed with it.  And keen to use it again on some projects of my own.  So I’ve decided to write a bit about what I did and how I did it and have created a new WordPress blog category for these new posts.  Stay tuned for more posts over the next few days.

This entry was posted in WordPress on by .

About markn

Mark is the owner and founder of Timesheets MTS Software, an mISV that develops and markets employee timesheet and time clock software. He's also a mechanical engineer, father of four, and a lifelong lover of gadgets.