Many of my clients have used WordPress for years and are advanced users. It’s (mostly) straightforward and they feel confident when choosing a new plugin or changing a small part of their site’s appearance. However, when things start to go awry they realize there are gaps in what they thought they knew and what we discuss as I debug and troubleshoot.
What is WordPress?
At its basic core WordPress has two main parts.
First is a database with a handful of core tables that manage the content, users, and custom settings. The second part is the user interface which is created by PHP queries to the database with a mix of CSS, JavaScript, and HTML to display the results.
Your database stores the content and the PHP (CSS & HTML & JS) make the look and feel of the site and help create the site you need. That’s why it’s important to not only backup your wp-content folder, but also make a backup of your database. Those are two separate actions!
While you could go and make edits to the core to add a new feature or make it look different, WordPress enables you to do this through themes and plugins.
What are themes?
Themes are what give a site it’s look and feel. For example, a theme may create a two column layout with a large header at the top of the screen. In an effort to make it easier for individuals to make their site look unique, even as it uses a common theme that may have been installed by millions of people, theme frameworks have evolved over time to allow you to customize your site to satisfy your every whim.
What are plugins?
A plugin is a bit of PHP code that makes it easier to do complicated things with the data in the WordPress database. For example, you may have ecommerce site that sells widgets. You can install a plugin that makes it easy to define all the properties of a widget and allow for customers to buy them on your site. The plugin will connect with your theme, which is responsible for displaying your widgets on your customers’ screen (be it a computer, phone, etc.).
Where to go from here?
Several clients have asked over the years how they can start learning WordPress so they can make more informed decisions about their sites. Most of the resources I’ve found either approach this question it with a “here’s how to use the basics” or “here’s how to write themes and plugins”.
Should you dive in to the deep-end and learn PHP, CSS, JS, and SQL? If that excites you — yes. But…
Read
However, what I think helps to build a stronger foundation is to begin by reading as much as possible. Find out what parts interest you the most. I’d start with: getting to know WordPress. As you read, one part or another may hook you more than another. As you look at different themes and plugins go further than the intro page, look into the change log, and read various support issues. If the theme or plugin has a website, get to know it as well. (I’m not picking on Yoast).
Play
I also suggest setting up a playground (sandbox) to learn and try different things. You will make experiments that test your hypothesis. What happens if you combine plugin A with plugin B and a certain theme? What if you switch to plugin C. You don’t need a dedicated linux server in your basement and I don’t suggest using your main web hosting account.
Try new things
As you play you may discover that you want to do a certain thing very differently from how it’s currently done. If you find you really want to make the site and its general layout look different, learn about creating a child theme. Learning CSS, PHP, and JS will help.
Perhaps you want to interact with your content in a different way, in that case learning about writing a plugin. In that case, PHP, and likely MYSQL, CSS, and JS will help you be successful.