During my high school days, my friend Tim and I ran a little local blog (before we knew what blogs were) based on a very simple CMS that he built from scratch. Our site was mostly filled with satirical stories based on characters/real people who lived in our small, little town of Port Hawkesbury, Nova Scotia.
While I loved reading and writing those satirical posts, there was something incredibly rewarding about building something from nothing. We didn’t have WordPress. Hell, we didn’t even have a proper web host. Back then, we relied on Apache and MySQL running on my own computer with a broadband connection, a free ZoneEdit account, and a piece of software that would automatically update our domain’s DNS settings to reflect the makeshift server’s current IP address.
Yeah, I won’t be doing that again. But I still want to do something. And I want to do it right.
I want to learn, but I want to learn best practices along the way as I build a website for me, just the way I want it.
I want to design something that’s perfectly suited for the menagerie of content I want to provide, even if I’m only providing it for myself.
But most of all, I want to own my website, to know how everything works behind the scenes, and I want it to always reflect me in the way I want to be reflected in a digital realm.
Instead of building something from scratch like my friend Tim did back in the day, I’m going to rely on WordPress. Yes, there are some other competing solutions out there — including Ghost, Medium, and others — but I want to learn how to theme what’s arguably the industry standard in website CMS solutions. (We use WordPress at VerticalScope for nearly all our content sites, including The Truth About Cars.) Additionally, I want to learn how to build plugins and extend my website’s features so it isn’t all packaged in one ginormous, unportable piece of code.
So, let’s get started.
Setting up the environment
First, I bought this new domain name from Automattic, which is now selling .blog domains through its get.blog website.
Second, I needed a host. I’ve used Netfirms in the past and it has never done me wrong, so I picked up another hosting package from it.
Once my DNS settings propagated, I installed the latest version of WordPress, which is now WordPress 4.7, and got started.
How “from scratch” do I want to start?
There are a few ways to go about developing a WordPress theme. You can go the easy way by finding a free or premium theme that does most of what you need, then extend it with plugins or custom modifications through a child theme. The most difficult option would be to start from literally nothing and write every single line of code along the way.
Neither of those are solutions for me.
Instead, there are a number of framework and starter themes available that you can use as a base to develop your own theme.
And this is where I’m going to leave this post. There are so many starter themes and frameworks out there, and I want to give them all a whirl before deciding which one to use as a base for my theme.
If you’ve made it this far, here’s a little surprise for you: Remember how I said my friend Tim and I had a website? The domain is still registered, and the logo I made back in 2001 still adorns the splash page.