Speed Building a Custom WordPress Theme

By Grace Miller | June 10, 2019

Web Developer at Work

I recently went on a little detour from my React, Node, and generally Javascript-filled days to customize a WordPress Theme for a client. I have been trying to find the time to add a blog functionality to my portfolio site for some time now, so, while I had WordPress on the brain, it seemed like the perfect opportunity to put one together.

I know what some of my fellow full-stack developers are thinking, and you can keep your snarky WordPress comments to yourselves. I sympathize with them, but, having become interested in development as a WordPress CMS user, I have to tell you that it isn’t going anywhere anytime soon.

I built a theme to match my portfolio site, and I learned a few things about WordPress in the process:

  • Conceptually, it feels similar to both Node and, more specifically, React, because of its modular nature. You’ve got your headers, and you can even break it down into template parts.
  • It seems kind of intimidating at first, but it’s just like picking up any Node package out there—if you read the documentation and have some quality Googling skills, it’s not so bad.
  • The key is following WordPress’ best practice guidelines. As many of you already know, there are plenty of people out there who don’t do this, and I spent hours as a CMS user fighting through plugin conflicts that I don’t wish on anyone. But the beauty of WordPress is that it has been around for so long that the documentation is quite extensive, and like many open source projects, there are also a ton of answers around the web.
  • I fully support working smarter, not harder. At the outset of this little project, I had to choose between building on a starter theme or building my theme from scratch. I spent some time understanding the benefits of each, and ultimately just used one of WordPress’s annual themes as a starter. It seemed that the main reason for building a theme from scratch would have been avoiding the restrictive nature of starting with code that someone else made. While I did have very specific styling to implement, replicating my portfolio for the sake of a single blog page (and posts), wasn’t complicated enough to justify the time I would have spent building from scratch. If I were building something more complex and customized, I could see using a starter theme as a major headache, which is something I’ll keep in mind for the future.

Overall, the built-in functions and elements of WordPress are incredibly fascinating. They allow for quite a dynamic site, with relatively little future coding (minus any necessary updating), which is a concept that will be around for a while, particularly as business owners become more web savvy and seek to build sites themselves.

I recently read an article about the sliding scale of a small business’ website needs. A small business like a restaurant may not need the fanciest website at the outset … nor can they likely afford the added overhead. Sure, you could deliver a blogging application to a client built fully in React, but is that something the client can afford? And if so, is there really a reason they should sink their resources into something that’s relatively expensive (special functionality, etc.)?

As developers, our clients rely on our knowledge to make the best decisions for them. If we put all of our clients out of business by recommending the most expensive app we can build, we are not only failing to serve them well, but we won’t keep them for long as they flee to (what they view as) more cost effective options like Wix.

Leave a Reply

Your email address will not be published. Required fields are marked *