At some point in 2005, just as my interest in Flash was starting to wane, I caught scent of a fresh-faced blogging platform called Wordpress.  

Not knowing any PHP at the time, the whole thing seemed pretty alien to me. 

But it turned out that learning Wordpress was a great way to move beyond straight-up HTML and CSS and into the world of sever-side scripting.

I spent some late but entertaining nights learning how to make Wordpress do approximately what I wanted it to, and my blog went online early in 2006.

My first two posts?

Well, one was about procrastination: essentially it was that most terrible of blog posts… an apology for not writing anything other than the apology itself.

And the other was a listicle: a top 10 list of top 10 list articles. Ha!

(Sidenote: everyone’s first few blog posts are a bit rubbish. Don’t worry about it… just keeping writing… you’ll get better much faster than you think you will.)

If you’re a designer who wants to dip your toes into the coding water, I’d urge you to give Wordpress a shot. For me the learning curve was just steep enough to pique my interest without ever feeling intimidating. In short: you’ll be up and running with Wordpress quicker than you think.</p>

Reasons to choose Wordpress

  1. The community is huge. An entire whole ecosystem of companies and services has evolved around Wordpress. 
  2. There are thousands of free plugins which cover almost any requirement you can think of beyond the standard Wordpress functionality.
  3. Wordpress is much more than a blogging system these days. In fact I'd describe it as a fully fledged CMS that also happens to be great for managing a standard blog.
  4. Although its own documentation, the Wordpress Codex, can be a bit patchy, there are so many people willing to share their knowledge about Wordpress elsewhere (eg on their own blogs) that it doesn't matter.  

My tips and tricks for designers getting started with Wordpress theming

  1. You don't need to buy any special hosting to start playing with Wordpress. Instead, run it locally (eg on your own computer) using either MAMP for Mac or XAMPP/WAMP for PCs. More info: installing Wordpress locally
  2. You're going to need a decent (and by decent I mean distraction free) code editor. I use TextMate with the Blackboard theme, or you could try other code editors like Coda or BBEdit. At a push Dreamweaver will do the job too, although for me it is verging into bloatware territory: it tries to do more than it should or needs to.
  3. Start by messing around with a readymade Wordpress theme.  Drag the theme folder into your editor and make changes to the php files, starting with index.php which is the basic template file. The alternative is to try and get your head around the Wordpress template hierarchy, which is something I would put off for at least a few days (click that link and you'll see why). When I say messing around, I really mean it. Set yourself small tasks (like adding something to the sidebar) and then use Google to find tutorials or explanations about what you need to do.
  4. Eventually you will get bored of this. Congratulations! Now it is time to build your own theme. But instead of cloning an existing screen, try starting from scratch. That way you will learn how to construct from the foundations upwards, instead of inheriting someone else's existing structure and scaffolding. Above all else, remember that Wordpress is not PHP.
  5. The Wordpress loop is the thing you'll need to get your head round first, because it's the code that Wordpress uses to display posts from your blog. Essentially you use it to tell Wordpress which posts to go and find in its database, and it then spits them out onto the page for you. But things can get complicated if you are displaying more than a single post on the same page. For more detailed information on this see Wordpress multiple loops explained.  
  6. Another place where magic (and frustration) happens is in the functions.php file, which is where you can modify the default behavours of Wordpress. If you want to create custom post types, change the "Read more" link under posts or add new image sizes to your theme, functions.php is the place you need to go.
  7. It's often preferable to add a snippet of code to functions.php than to install a plugin, because it gives you greater control over what's happening. Sure, it you get stuck and have found a plugin to do what you need to do, go for it, but remember if you install 20 plugins like that, things will get much harder to manage.  
  8. That said, sometimes it's better to let an expert handle things for you. For instance, if you ever get frustrated by the limitations of the Wordpress post editing screen (which only gives you access to a post title, body and excerpt by default), you can use a plugin like Advanced Custom Fields to add extra fields (or even images) for you.
  9. If you get stuck: (a) Google the problem. Chances are that someone has had it before and already documented the solution. (b) Remember to breathe! Take a break, go for a walk or just leave it until tomorrow (c) Post your problem to the Wordpress forum. Sometimes I find that just the process of writing down my problem allows me to evaluate it differently and find a solution.

Where to host your Wordpress site

I’ve only ever used two Wordpress hosts and I’d recommend both, but for very different reasons.

Budget hosting: Dreamhost
You get a LOT for your money with Dreamhost. In fact you get pretty much unlimited everything, except speed. But if you’re ok with that, they make a great option for beginners because of the low price. Use the code ‘GREIG’ when you sign up to get $60 off. Or use Google to look for an even better voucher code ;)

Managed hosting: WP-Engine
I host CycleLove with WP-Engine and have had nothing but stellar service and rock solid hosting from them. Because it is a managed service you can relax in the knowledge that malicious attacks by hackers and Wordpress updates will be handled on your behalf. Which leaves you with more time to write your blog.

Posted to graphic-design in 2013.

Join 2,474 readers receiving my thoughts on life, design and making stuff happen each Sunday