For a little while now I’ve been working on a new WordPress theme.
Last summer, Bob Greenberger hired me to code a WordPress-powered website for him. It turned out pretty well, and I decided that I would work on a new site for myself.
I’d code something, spend a week or two with PHP and CSS, and get something that worked…
And I’d scrap it.
I went through this process four times, putting together a fully-functional WordPress theme and then starting over.
By Christmas time, I had something that, I thought, worked. It wasn’t ideal. The underlying code was cutting edge for WordPress 2.6 or 2.7 — the base theme that I was using, becasue its code was clean and easy to work with, was written for a several years old era of WordPress.
In March I changed direction, and I started working off of a much more recent WordPress code base. I’d tinker with it, here and there, and I finally had something that was good.
But I didn’t like it.
In June, I went back to the very beginning. I knew what I wanted it to look like facing out, and I knew what I wanted it to look like under the hood. I said to myself, “Okay, I have this theme, and it’s my code base, and I’m not touching it. I’m going to build a child theme, and it’s going to go on top of the code base (but separate, since that’s how child themes work), and it will be good.”
I’ve been tackling it in stages. I’ve been revisiting some of my old work and rewriting where necessary. Tonight, for instance, I recoded a piece of code I cobbled together a long time ago, a page template (for creating a static page in the WordPress page heirarchy) that calls the content of specified blog post. What I came up with tonight was simpler and more elegant than what I’m currently using on my blog today.
The base WordPress theme that I’m using is Argo, a WordPress theme developed by NPR for some of their member stations. What intrigued me about this theme was the way that it had a number of features built in that interested me, like social links and related posts. It’s a blog theme designed for multimedia posts (since it was designed with NPR’s needs in mind) that also had a nice look. I decided I could work with that.
But it needed something. I like the way my website is currently constituted. I like that there’s content spotlighted on the front page in a magazine-esque style. My goal, then, was to build a magazine-style front-end onto a blog theme that wasn’t designed for it.
It’s actually working out pretty well. Things are working the way I want them to.
What I want is something that’s both a blog and a professional site. This is something that, in my opinion, isn’t pulled off particularly well in virtually every case. People keep their online journals separate from their professional sites because they’re not really designed to go together (especially when they’re using someone else’s service — and someone else’s servers) to handle one or both of these functions.
What I’m doing will pull it all together and make it sing.
That’s why I need something that can take a blog post and make it into a static page.
Or why I’ve enabled Categories on WordPress pages (and then using a filter hook to exclude certain categories from the wp_list_pages function).
And no, I don’t expect that to make much sense to anyone other than me.
Do I have a timeframe for completion?
Eh, probably within the next month. It’s actually very close. I’ve created all the new files for the child theme that I need. The next step is to go through the parent theme, review each of its PHP files, and see if they need replacing in the child theme. Thus far, I’ve only done that with one file. It’s possible that there will be others.
And then, I’m going to go back through the files I’ve created and make sure I don’t have any extraneous code or functions clogging up the pipes. Which is, actually, entirely possible.
I also need to consider how social sharing will be done. There was a plugin I saw in use on other blogs, and though I liked the way it looked elsewhere, I didn’t like the look here.
Suffice it to say, it’s been an interesting experience.
Oh, and what am I calling it?
Since the base theme is called “Argo,” I’m calling my child theme “Argonath,” after those great carved statues on the River Anduin. Entirely appropriate, I think.