Last year, I set out to learn how to create WordPress themes and Plugins. I finally finished my first WordPress theme project recently and I had a lot of lessons learned from the journey. Some things that were simple to do had me pulling my hair out while some complicated things were a breeze.
Check out my FREE simple WordPress theme in action at http://www.mowenworks.com
>> If you’d like a copy of this FREE theme, let me know and I’ll send it your way. I’ve already submitted this to be added to the official WordPress theme repository.<<
I set out to create a WordPress theme to start out with. If I had to do a WordPress theme project all over again, there are a lot of things I would change and a lot of things I would keep the same. In the end, I found that there were 5 tips that I want to share to help you through your own WordPress theme project.
5 Tips to Help you Through your First WordPress Theme Project
KISS – Keep It Simple, Stupid
Its VERY easy to over complicate your theme. You may even get caught up in the analysis paralysis phase of your project (like I did) and your project stagnates.
Analysis paralysis or paralysis by analysis is an anti-pattern, the state of over-analyzing (or over-thinking) a situation so that a decision or action is never taken, in effect paralyzing the outcome.
Don’t over think what you’re trying to do and take it one step at a time. You WILL get through your project. Focus on the main parts and fill in the details. Create a plan on paper for, lets say, the top 3 functionality you’d like to have about your theme. Take the first major task and keep refining it to the specific details of what you need.
My favorite (so far) methodology of refining and completing projects is the Agile Methodology, specifically using the Scrum framework.
For example, with Agile, you define the main functionality using a simple and readable phrase pattern.
As a ______ I want _____________________________ so that ________________________________________________.
Then you create tasks that will accomplish your chosen main functionality. Here is a sample of my own Agile item:
Start off small and take the WordPress theme project in small bites. Keep it simple by defining what your main goals are, then refine them more and more until you have a road map of where you need/want to go. Better yet, just focus on the first goal or so and get it completed. Don’t shotgun your efforts across multiple items; you’re not nearly as effective. You’ll be surprised on how much you’ll learn by focusing and completing just ONE goal. You’ll be able to breeze through the other items without much effort.
Now you need something to keep you organized!
Project Tracking
Keeping track of what you want to do with your WordPress theme project is important. You need to know where you are and where you’re heading. Project status and organization helps keep you on track. Doesn’t it feel good to get that check-mark that you’ve completed a major task?
I have been using Sprintly (http://www.sprint.ly) for almost a year now and have come to like it. It is an online Agile project manager that helps you define your requirements, keep track of tasks, and has a bucket load of impressive reporting tools. They recently changed their pricing model to $19/month from free, but I would still say their 30-day trial is very much worth it at least. Their Agile dashboard and reporting capabilities make this tool very powerful and attractive.
FogBugz (http://www.fogcreek.com/fogbugz) is an alternative project tracking tool for your WordPress theme project. I have used FogBugz in the past, but not to its fullest extent. They have some pretty useful built in functionality, such as email support and issue tracking, that extends their project management. FogBugz combines issue tracking, Agile project planning, project management, a support helpdesk,time tracking, a Wiki and discussion groups in a single product. They are free for teams of 2 people, but only charge $18/month for a few more people. Their prices do scale, so check their pricing page for more details.
Start populating your project management tool, or sheet of paper, or spreadsheet. Whatever you prefer to use, start planning what you want this theme to do. Input your major bullet points then surround it with tasks that will complete that bullet point. Don’t bind yourself over technology limitations or your own ability limitations. Just write down what you want your theme to do. You’ll learn how to reach those goals as you go along.
Once you’ve written down your high level objectives with supporting tasks, you’re now ready to start tackling them. Lets make sure you have a local environment for that.
Setup a Local Environment
In a previous post, I went over how to create a local WordPress development environment.
Different environments are important to allow phased release, testing, and rollback in case problems arise. Create a local WordPress development environment on your computer to allow you to quickly and easily keep the environments separate. The most common headache with setting up a WordPress local environment is configuring all the sub-systems that are needed to actually RUN the website.
To simplify it, you’ll need Apache, MySQL, PHP, WordPress install, a powerful IDE to manage your code, and local version control. I’ll show you how to easily set up a simple working environment in one lazy afternoon.
Bitnami is an application that quickly and easily installs server software where you need it. They also offer cloud hosting if you need to migrate your project online. I love using Bitnami because they can save you so much time and have some great admin tools.
Download the latest Bitnami WordPress stack. A ‘stack’ is a one-click install bundle that installs and configures the group of software for you. It ensures that the primary application is installed with the needed support applications as well. In our case, we are installing Apache, MySQL, PHP,AND WordPress with a single install dialog. You can’t really get any more simpler that that!
Switch over to my article on Creating a Local WordPress Development Environment for more details.
Your new environment will help you knock out those project tasks. You’ll eventually reach a point where you’re going to hit a brick wall in your abilities or the technology. You would be surprised at how many people are in the same situation as you. Finding help to get you through the tough time is not as hard as you may think. More than likely someone has already completed the task you are stuck on.
Get Help!
The phrase “It takes a village to raise a child” can also fit with your application development. Don’t think you have to do this on your own! There are dozens of resources out there that can help you with that one feature you want to add or understand.
WordPress IS open source, so you can technically study how other people have done things. One way to start your own theme is to modify the existing out-of-the-box themes that come with WordPress. The “Twenty Ten”, “Twenty Eleven”, “Twenty Twelve”, and so on are designed to help get you started.
Here are some other resources that you’re need to bookmark:
WordPress Codex
Reddit.com
- https://www.reddit.com/r/wordpress
- https://www.reddit.com/r/WordPress_Themes
- https://www.reddit.com/r/CodingHelp
- https://www.reddit.com/r/webdev
Slack
- wordpress.slack.com
- https://make.wordpress.org/chat/
Stackexchange
Write It Down!
Get everything that you just learned while you implemented in a small notebook, blog, or document. You’re going to come back later and think “what the heck did I do here”. You WILL run into an obscure issue or feature that you only needed to implement once. It took you some effort to actually add, so make sure you write it down.
Some other things that you’re going to need to write down is anything you’ve configured or installed. Including usernames, descriptions, tips, port numbers, and URLs. You’re going to forget in a few weeks and its going to take you some time to remember. Why not just look at your handy cheat sheet?
Don’t forget to throw in your sketches and ideas in there too. You want to see what you hand in mind and to help guide you on your way.
Summary
If I were to do it all over again, I would change a lot of things and keep a lot the same as well. My first WordPress theme was one that I made for fun and to learn the system. It’s honestly not as hard as you’d think it is, but you DO have to pay attention and document what you do.
Organization and having a plan were the two things that I felt that I should have focused on more so that my tools or environment. Having a road map and understanding of the problem that you’re trying to solve with WordPress is going to take you far in your development.
Check out my FREE simple WordPress theme in action at http://www.mowenworks.com
>> If you’d like a copy of this FREE theme, let me know and I’ll send it your way. I’ve already submitted this to be added to the official WordPress theme repository.<<
One thought on “5 Tips to Help you Through your WordPress Theme Project”