WordPress is like a G.I Joe action figure to the kid inside me. It’s like Legos for a toddler and like a “truck that needs fixing” to a 40 something year old Texan. With a straw in his mouth.
You see, there are endless possibilities when it comes to WordPress. It is so diverse and yet so simple that anyone who can use “WordPad” is qualified enough to use WordPress. It’s not a steep learning curve.
All you have to do is login to you WordPress dashboard, click on Add New Post and Publish it when you’re done. You get a ton of editing tools such as bold, italics, strike-through, subscripts, etc. via the Visual Editor in WordPress. Add a couple of tags and categories and you have a blog, good as any.
When it comes to images, WordPress 3.9 introduces a ton of never before seen features such as cropping, resizing and real-time image replacement.
If that’s not awesome, somebody call Master Shifu. (Reference: Kung Fu Panda)
We’ve been taking about the front-end activity of WordPress. Writing posts, adding images are actions that end-users perform.
What about the back-end functions?
Like you know, how does a car actually spin its wheels when you step on the gas? It just does, doesn’t it?
An automobile engineer can give you detailed steps the functions involved, but it’ll go over our heads. Well, at least me. :P
That’s where WordPress developers come in. You need to know at least a couple of programming concepts and languages. Let’s take a look at these concepts:
Object oriented programming (OOP)
Article continues after this block
“Oops, I did it again”
Classes, instantiation, objects, data abstraction, static member functions and inheritance. You should be able to rock these terms in the back of your head – just like when you sing Britney’s all-time classics in the shower.
Ideally, introduction to databases are well taught in some schools and almost all undergraduate college courses. Advanced databases can be chosen as electives in the later semesters. You should be familiar with the following:
- The need for databases – the “why” factor?
- Databases versus classical file organization
- Relational Calculus – don’t worry it’s got nothing to do with math. ;)
- RDBMS – Relational Database Management System
- The “how” factor, as in “how databases work internally” is quite complicated and is generally taught in post-graduate courses
- SQL – Structured Query Language
In 99% of the cases, WordPress uses the MySQL database. It’s lightweight and portable in nature. Most importantly, it’s 100% free.
One important thing you need to keep in mind while learning queries is to follow the ANSI standard. This will help you in all your projects since, ANSI SQL commands is an internationalized standard – all database manufacturers must adhere to the ANSI standard.
A common practice among junior database learners is to use software specific commands, while running SQL queries.
Suppose there’s boat reservation system database in Oracle (a renowned database vendor) and you’ve built a set of queries using Oracle specific commands. Your friend has built the same set of queries using ANSI SQL commands.
If I port that database in MySQL (or any other database for that matter), which set of commands do you think will run? (You’ve guessed it – it’s the 2nd set).
These are the two concepts that you need to be aware of before getting started with a language like PHP or MySQL. Now let’s take a look at the languages you’ll need to master in order to conquer Mt. WordPress.
HTML and CSS
Goes without saying, this the base. WordPress, no matter how complicated or simplified it may seem to appear, at the end of the day, your browser renders HTML code, coupled with CSS templates.
You need a solid understanding of these two topics, before you get started with WordPress development. The best places to learn HTML is W3Schools and Codeacademy. CSS-Tricks is one of the most sought-after CSS blogs in the Internet. Go Chris!
PHP supports an object oriented design approach (like C++ or Java) as well as a structured programming approach like C.
PHP + MySQL
As an aspiring web developer, this is one of the most interesting and useful features you’ll ever learn. This is going to be your snickers when you run, or a glass when you want to drink wine.
In short, you’re going to use it for a very, very long time. The more you adapt to it, the more proficient you’ll become. A good place to start is the official PHP documentation of MySQL Drivers for PHP, specifically, the MySQL Improved extension.
Advanced Topics: AJAX
To be honest with you, I just know the very basics of AJAX. I’m not familiar with the language myself.
In my opinion, following the informative WordPress blogs and treating the WordPress codex as your Bible is the best way to learn WordPress. Ask any developer – they’ll always ask you to refer the WordPress codex when you get stuck with something.
There are some great WordPress books you can read. Don’t forget video tutorials and podcasts.
Failure is the pillar to success. There no truer statement on earth.
But let’s be smart people. Let’s learn from our mistakes.
Am I showering you with my Grand Master Oogway wisdom?
Nah, not quite. Well, maybe a little bit. Let’s talk about some of the common mistakes novice webmasters commit regularly.
1. Trying out untested plugins in a live site
I’ll be straight up – that’s stupid. Of course, when there’s a plugin with over 10 million downloads, it’s not “risky” to directly install and activate it. But I distinctly remember an incident where one prominent photo gallery plugin caused a conflict with a theme I had purchased from Themeforest, which rendered WordPress’ in-built visual editor – useless. I wasn’t able to publish or edit or unpublish any post or page, until I had deactivated the plugin.
I know it’s a painstaking process, but it’s always safer to carry out plugin tests on a demo WordPress installation. It can be on your hosting server or a local one in your computer.
2. An empty WordPress demo site isn’t enough
If you’re really serious about your site, then you don’t want to leave any stone unturned. What if the plugin or theme you installed worked perfectly on a local, empty WordPress installation, but when you installed the same in your live site – all hell broke loose.
The remedy? Clone your WordPress site. That’s right. You need to create a replica of your existing WordPress installation and carry out your experiments there. WPEngine mastered this field by introducing the famous “staging area”. It was a playground, a lab where you could carry out your experiments. Once they’re over, you can simply port it back to your site.
3. Regular backups
Backups are one of the most undermined security aspects of an amateur webmaster. The policy is simple – security through redundancy. If you accidentally break your WordPress site, you can revert to the last known working state – with the click of a button. Plugins like BackupBuddy and VaultPress include such awesome features, but they don’t come cheap. Check out some of the best free and premium WordPress backup plugins Joe had listed for us.
In this article I’ve used the line:
“..languages you’ll need to master in order to conquer Mt. WordPress.”
It’s important to realize that the word “master” is a highly subjective term. It depends on the developer and the certifier. Mastering something takes years, sometimes decades of practice and you still feel there’s so much more to learn. Coding is something similar.
WPLift’s founder, Oliver Dale didn’t happen to build WPLift in a day: Things take time. The best way to learn a language is to practice coding in it. Typing the same characters in rapid succession, figuring out the missing semicolon and the invalid object declaration – that’s what coding is all about.
So what’s your favorite ways to learn WordPress? Any personal tips you’d like to share? We would love to know!