Practical Tips for Learning and Experimenting with WordPress

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.

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)

oop-basics

“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.

Databases

MySQL

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-css-js

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

PHP is a server side language that’s used to dynamically generate HTML output. It’s not limited to that, but also has a kickass list of tasks it can perform.

One of the most interesting features about PHP is what distinguishes it from a client-side language like JavaScript. In PHP, the code is executed on the server, generating HTML which is then sent to the client. Thus, with you’re using a lot of PHP code, the load is on the server. When you’re using JavaScript, the work is done by the user’s CPU.

PHP supports an object oriented design approach (like C++ or Java) as well as a structured programming approach like C.

PHP + MySQL

php-mysql-2

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.

JavaScript

To quote W3 Schools, “JavaScript is the programming language of the Web. All modern HTML pages are using JavaScript.” W3S describes it as one of the three languages every web developer must learn. If you’re familiar with JS, awesome, you can get started with WordPress development. If not, get started here.

Advanced Topics: AJAX

html css

To be honest with you, I just know the very basics of AJAX. I’m not familiar with the language myself.

AJAX is an acronym for Asynchronous JavaScript and XML, which by its very name suggests prior knowledge of JavaScript and X/HTML. From what I’ve understood, AJAX is used to change the content of your webpage dynamically, without actually reloading the page. Check out W3S’ introduction to AJAX and you’ll know exactly what I’m talking about.

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.

science_experiments2

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.

WP Clone and Duplicator are two WordPress cloning plugins you can use.

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.

success is sweet

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!