FooCamp – An Introduction
Is this just another WordPress plugin tutorial? No way. There are plenty tutorials and blog series out there, but this will be different.
A few days ago, I was wanting to teach our support guru Matt Cromwell how to write his own WordPress plugin. So instead of just sending him a list of things to do and read, I thought it would be a really cool idea to blog about it. In that way, everyone can learn along the way (including me).
And so FooCamp Plugin School was born! Who knows, maybe when we are done, we can write a book about the whole experience 🙂 Or Not!
Matt will also be blogging about his plugin building experience from the builder’s perspective on his site. We will be coordinating the publish dates of these two series to make it more of a “cause and effect” series. We highly recommend you follow along here and at Matt’s site.
What Will FooCamp Plugin School Cover?
That’s the beauty of this series, I have no idea really!
Obviously, I will start with the basics and build momentum at a pace that Matt (and you, the readers) can cope with. If something important comes up along the way, then I might focus an entire post on a specific subject. If something is not explained correctly, then I will update the post with more detail. If something is common knowledge, then I will simply link out to better posts on the subject.
One thing I do not want to do is reinvent the wheel here.
What I Want From FooCamp Plugin School
I want this series to be a source of excellent learning content about WordPress plugins. I want you to learn how to do things the right way, and at the same time, I want you to know why some other ways (even though they will sometimes work) are not so good.
Learning By Example
The reason we came up with FooCamp Plugin School in the first place was a need for a specific plugin. Matt and I will be building that plugin as we go through this series. The code examples we use will come directly out of that plugin, which we will be posting on our FooPlugins Github repo.
What is the plugin you may ask? A complete product documentation solution, that we will be using ourselves on fooplugins.com
FooCamp Plugin School Terms And Conditions
These posts will be from my own personal experience, so they might not work for everyone. You might not agree with some of my chosen design patterns, or even the tools I use. That is fine, each to their own, but this is the way I do things after fumbling around with code for more than 15 years professionally.
These posts will also be strongly opinionated. For example, I believe that writing plugins without a class and just prefixing your function names is a very bad practice! More about that in a later post.
You will also need to read up on certain things that I will refer to along the way. For example, GIT, PHP and obviously the WordPress core.
What You Must Do
If something is not clear, please leave a comment. If I am being stupid, and there is a smarter way to do things, please leave a comment.
After all, this is a learning experience for everyone, and as developers, we should be constantly improving ourselves. Also, if the comment will add value to the discussion, I will update the post to include it, and add in my own 2 cents if needed.
Let’s start at the beginning. Do not even write a single line of code yet. Let’s look at your environment, your source control and some prerequisite reading. That will be my next post.