Introduction to WordPress and WooCommerce Development
[notice]This is the first chapter in our WordPress Developer Guide series. We’ll post our agencies methods for building WordPress and WooCommerce websites. Signup to our email newsletter for the next chapter.[/notice]
This book was first written as a manual for our company, Raison. We design and build WooCommerce and WordPress websites. As we grew our team I quickly learnt a few important lessons:
- Everyone does things differently
- I had automated my process without realising
- We needed consistency across the team
- Knowing where to look is half of the problem
I set out to refine our process so everyone building a Raison theme could jump in without any prep and work efficiently. Everything would have a place. We wouldn’t have to wade through lines and lines of code to make amendments. This would be our rule book.
Before we put these measures in place working with others caused problems. Bad practices crept in. Obsolete code was left unchecked. Conflicts emerged. Work would take longer and make us more work in the long run. It’s how most companies work and it’s not ideal.
When I chat to developers it’s fascinating to hear about their processes. Everyone has a different setup. Maybe someone is experimenting with the latest node.js task automator like Grunt, another is toying with some experimental SASS setup, or maybe just learning the CSS standards. The exciting thing about development is that everyone is constantly learning.
You can see how passion stimulates learning and growth. It’s awesome. Our knowledge grows towards the sun, with a branch sprouting here and another there. But we rarely follow standards, we don’t prune our branches. Left unchecked we become a wild jungle.
I was struck by this idea of growing our teams understanding and created the Bamboo method. If we all grew our bamboo in the same way we could jump from branch to branch without falling. We wouldn’t get lost in someone else’s jungle.
This book is more than a guide for theming WordPress; it’s a method for learning and developing your skills.
Becoming a WooNinja
Ninjas are lazy. Kicking ass with minimum effort. Ninja’s make it look effortless but just fitting into a black cat suit will probably be hard for the majority of us.
They have three main qualities: consistency, simplicity and speed. A ninja will strike purposefully and efficiently. This is how we should aim to be with WordPress and WooCommerce. These are the qualities at the heart of this book.
We will look at the processes you need to build and maintain your site. This book is written for store owners, freelancers and agencies looking to establish good working practices and future-proof sites.
So you’ve decided to use WordPress and WooCommerce for your new website. There are many platforms out there but this combination has seen huge growth in the last few years, and for good reason. It’s awesome.
WooCommerce has grown from nothing to challenge the incumbent King: Magento. And speaking frankly as someone having used Magento. Woo kicks ass.
There are many platforms and it’s reductive to claim WooCommerce is always the best platform. It depends on the requirements. Horses for courses.
However, a main reason Woo and Magento have flourished is down to the communities and marketplaces that have sprung up around them. Woo has openly encouraged these communities.
A wonderful, but closed garden, cannot compete with the beauty of a wild and untamed jungle.
This is both a strength and weakness. A good ninja knows how to use his weakness to his advantage. One of the most common problems with WordPress is not anticipating conflicts.
There is a huge gap between expectation and reality when it comes to plugins. Just look at support forums on the WordPress repository. You’ll see furious ANGRY CAP complaints that an open source plugin shared 3 years ago is no longer working.
Not all plugins are actively supported, especially those which are niche. It takes precious developer time to maintain a plugin, so it is unlikely to be future-proof if the plugin is not providing sustenance to the developer. In other words, dosh or reputation!
This is not the Apple app store.
Conflicts arise from custom code, poor or out of date plugins and themes. Whatever it is, we need to mitigate this risk in our own work and be aware where it may exist in any third party add ons we bundle with our site. We’ll set you up so you start off with trusted tools and can spot problems when they arise (rather than when the site goes live!)
WordPress and WooCommerce are in a constant state of development. So should your site. Often a client is unaware of this, so make sure this is communicated as early as possible.
If you build with this in mind you can take precautionary steps to ensure your site can upgrade alongside the core upgrades. If you don’t, your site will break and you will be constantly paying to plug holes. If you are a developer you will find your time is taken up with unnecessary work.
The open web is full of spam, shady operators and blatant falsehoods…In the curated gardens of places like Apple and Facebook, the weeds are kept to a minimum, and the user experience is just…better.
[Wired founder – John Battalle]
The curated gardens have set a precedent. If you follow the Bamboo method you will have far less weeds in your garden to distract you for growing your online business.
If you rush into the untamed jungle with your machete you will not win. The jungle is too dense and dangerous. A ninja should climb the tall bamboo and jump over the dangers below.
Bamboo is a tool that helps you build. It’s a scaffold. It’s a plugin. But mainly it’s a process.
Bamboo is always growing. In fact since writing this book it has morphed into a completely new tool. I expect it grow and change and adapt. Squeezing into new areas as it reaches up towards the sunny skies.
Bamboo is flexible, lightweight and strong. Perfect for Ninjas. You don’t need it to follow best-practices but it definitely helps. It can be installed on any site and will give you an insight into what is being loaded and lots of useful debug options.
Bamboo is open source and available on GitHub. If you have a cool idea then try adding it to Bamboo or let me know and I’ll consider adding it.
Finally, there will be items covered here that are no longer used. For example since writing I have moved to using SASS from CSS. I’m keeping all the information about enqueing CSS because even though we won’t be using it in our themes, it’s a vital bit of information.
This book assumes some knowledge of programming. We will discuss briefly how WordPress works, but mainly we will focus on the building process. From the specifics of coding through to adding and configuring pages.
I won’t be teaching you how to code, but if you follow the process it will massively help your understanding. In fact I am a strong believer of getting your hands dirty. It’s how I learnt and I swear by it.
Education is an admirable thing, but it is well to remember from time to time that nothing that is worth knowing can be taught.
Throughout the document we have assumed you are building a WooCommerce store. If you are not, then you can ignore all WooCommerce bits. Nothing here is dependent on WooCommerce.
This book will discuss the following:
- Tools to Use
- Languages to Know
- Best Practices and Standards
- Libraries to Help
- Business Logic
- How to find Help
Wherever possible we will use bullet points to outline the steps required to complete an item. Sometimes we will dive in straight to the bullet points. I’ve read enough eBooks to get fed up with waffle…
On that note, I’ll wrap up this introduction in a moment!