The complete guide to learning WordPress
Learning WordPress can be a very long road for an inexperienced programmer. This guide can help you go from programming illiterate to freelancing programming quadrillionaire. It is meant as a overview of the steps needed to become a competent WordPress developer. This guide can help both the experienced and inexperienced wrap their heads around WordPress.
Don’t believe the myths
When learning any field in programming (yes you will need to learn), there are a ton of myths that come attached. A lot of it is hype from click bait articles preying on the ignorant. So I’m just going to lay out the three most persistent myths I see today:
- No you CANNOT learn programming in 24 hours. Or a week. Or a month. To learn the entirety of programming world you will need to first become immortal being with a clear schedule. You can learn some of the basics int 24 hours, but you will never actually be done learning new programming skills (unless you are lazy).
- On the opposite end of the scale is a myth saying you’ll need to be a genius bestowed with the incredible powers of math. There is nothing further from the truth. You would be surprised the amount of potato heads one must deal with in the field, and how little actual math you will be using.
- Maybe my favorite: There’s no point to learning programming when there are tools to make websites. This is the most aggravating because its the hardest to explain. But put shortly, the question “why do I need to learn to code, if I have a WordPress theme?” can be answered with the following question “where would the themes come from if there were no programmers”. Same with web development tools. There are no tools on planet earth that can write more tools, except programmers. Also any tool that has or will exist comes with severe limitations. But that’s a longer topic.
Yes, you have to learn the basics of programming
Once again, you cry “Why do I need to learn programming? Its WordPress!”. I think the more you’ll learn about WordPress, the more you will learn how limited it is.
Here is the secret. WordPress is a platform, not a web development tool. Meaning, that a lot of the heavy work still requires you to flex your brain a bit and program. Here are some issues you might run into if you don’t learn how to program beforehand:
- My theme is awesome! But I hate the styling of the widgets in the footer.
- I want to build a membership site and I need x functionality, but no plugin exists.
- I want to build a membership site, but my plugins conflict.
- Turns out the theme I bought has a big fat whopping problem and I honestly think the theme developer is dead.
What would you do in these situations if you didn’t know how to program?
Now, please learn the basics of programming
Before you start off on your path to learn HTML and CSS, you should take a moment and relax, so I can throw a study syllabus at your head.
The things you will need to learn, before coming back are the following:
- HTML: The building blocks of the front end of your website (the display). Personal recommendation: Common mistakes can be cured with a firm grasp on inline, inline – block and block level elements, as well as a firm grasp on relative vs absolute positioning.
- CSS: This is the secret sauce to your website. Imagine that your HTML is a paint by numbers grid, and CSS is the paint. Every website uses CSS.
- PHP: This is the black box of the website. Nobody sees it but you. It is what actually creates all of the functionality, does all the thinking, and delivers the content of your website. This is what real “programming” is. Learn it.
- MySQL: Databases are where everything on your website is stored. You will need to learn how to safely interact with the database with PHP. Look up parameterized queries.
Setting up WordPress
There are a couple of ways to install WordPress on your website. The absolute easiest is through your cPanel account. There is usually a program on your cPanel that will install WordPress for you. For example, QuickInstall has a one click installation for WordPress. Another way is to download the WordPress source files, and upload them to your server via FTP.
After installing WordPress, you will want to sign in to your WordPress site to set things up. There are many guides on setting up your WordPress site through the backend, but the basics you will need to learn are the following:
- Installing your site theme: Even if you are planning on making your own theme, it advisable to set up someone else’s theme to base your work on. This will serve as a great jumping off point for your website.
- Get familiar with plugins: they are easy to install and will provide most of the functionality of your website.
- Menus: learn where these are and how to set them up. You can create menus that are useable on any part of your website.
- Widgets: widgets are not to be confused with plugins. Widgets are user interface elements (like a Twitter feed), while plugins are groups of files that can potentially make sweeping changes to your sites functionality.
- Learn the difference between pages and posts. These things have very distinct and separate purposes.
This will give you enough ammunition to set up a basic website. However if you want something a bit less basic, you will have to continue on.
How does content get delivered to the user?
It is helpful to know how WordPress takes your content and presents it to the end user.
If you learned php, you will probably know how a website is presented to the user. If not, and you have gotten this far, you are a shameful human being and deserve a death of a thousand cuts. It sounds silly, but its very helpful to know how the browser interprets data, and what PHP’s purpose is in filling in content, how the website is compiled etc.
Themes define the way that WordPress presents content to a user. They do this with php files that serve as templates to display certain parts of your website, like a blog post page or the header. They also include CSS and php files and can even provide functionality to a website.
I highly suggest learning what you’ll have to provide in your themes. There is also certain rules that you need to follow if WordPress is going to recognize your theme. However, the main parts will be: the header, the index page, the sidebar, the footer, functions.php and the stylesheet.
One more thing you might run across are page templates. Page templates are simply different ways to display any single site page. If you don’t have any idea what I’m talking about, look up “page template”, in fact, do that anyway.
Also learn about post types. Everything on your website is a post type, whether they are pages, posts or attachments. A page template is a template for a certain post type. Learning about post types might clear a lot of confusion down to road.
There are lists of all the global variables that WordPress provides, that range from the content you provide to users, to information on the visitors themselves. Don’t bother memorizing these, just reference them as you go and be familiar with what type of global variables that WordPress provides you. If you don’t find them you might have to add the functionality in yourself, either in the form of a plugin, or simply in the function.php file. Global variables are essential in WordPress development.
Plugins allow you to add functionality to your website or others. There is actually a huge plugin market for WordPress. Its a great way to earn some fat stacks of cocaine and gain some rep in the programming community.
Essentially plugins are groups of files that alter or add functionality to websites. There are certain rules however, to setting up your files so that WordPress reads them.
It is also important to learn when to add things to functions.php vs creating a plugin.
Hooks: Actions and Filters
Hooks will allow you to “hook” one of your functions into WordPress, so that it is run at a specific time. If you don’t use hooks, many types of functionality would not be possible. Trust me when I say learning what these are and how to use them will save your life, and free up a world of possibilities.
Make sure to learn the difference between the two, and how to use them. This knowledge will allow you to heavily alter the functionality of WordPress, and will greatly open doors for your site functionality.
Actions are hooks that allow you to run a function when a certain WordPress event occurs. For example when you create a post, you might want to update a value in your database.
Filters allow you to modify data at certain times. When you set up a filter, WordPress will pass data through it before completing a task. If WordPress is about to display a login error, you can choose to change or modify that error message before it is presented to the user. Perhaps something like “Stay back scammer this is my grandmothers heirloom!” or “I don’t want your dirty eyes peering into my website, filthy hillbilly hacker!”.
Naturally, for everything to sink in, you have to practice. However, if you want to be like me starting off, you can find a small job online, and jump in head first. The pressure should help keep you trying to learn. If you screw someone over, you can always direct them over to me.
However, if you want to take the more safe route, I would suggest you do the following:
Rent out a small shared hosting package (you can blow a few bucks a month), grab a theme, and create a small blog website. (Make it something you’d want to use! In fact use it!).
You can also use a local server on your computer, if you don’t feel like spending any money, and don’t really want to share your work with anyone.
When you have learned your way around WordPress, start another little site. However, this time be a bit more ambitious, and this time, try your hand at putting in all the functionality yourself. If your confused on something, you can always rip off someone else’s work and learn from them.
If that seems like a lot. It is. WordPress is a much larger topic than many people assume at first. However, if you take it one bite at a time, you will eventually learn everything you need to, when it comes to creating WordPress websites. Its a skill that is highly in demand, and doesn’t require a degree. Keep plugging away, and you will find that it was very worth it!
Hopefully, this guide will help you in becoming a solid WordPress developer.