49 472 WordPress Plugins available on the official repository. That’s a huge number! And they are just the Plugins available on wordpress.org. They are much more, for example think about vendors that sell their own Plugins on their platforms or the thousands of Plugins loaded on GitHub, but never submitted to the official repository.
For many people Plugins are surrounded by mystery. It seems that WordPress provides us with a powerful magic wand to get anything we want. To turn WordPress into whatever we want.
What is a Plugin?
The shortest answer is: a package of code. More specifically, a package of PHP code. That’s it.
The simplest Plugin is made up of a single unique PHP file. For example Hello Dolly, a Plugin that you’ve probably never used, but you have seen it at least once, since it is delivered together with WordPress.
It’s important to understand how Plugins are related to WordPress itself. There are three major components: Core, Themes and Plugins. The Core is the application itself. Themes allow to display some data to users and to choose the look and presentation of your website. Finally we have Plugins.
Plugins are used to extend WordPress functionalities or to add new ones. At this point you can ask why not to directly modify the WordPress Core.
Why do we need Plugins?
Why can’t we change directly the Core program? Well, remember the first rule of WordPress development: Don’t touch the Core! Please, don’t do that. A lot of tutorials on the Internet suggest to modify some files inside the Core, but it’s wrong! Why? Because when you update WordPress, you’ll lose all your changes. If you lose all your changes, you won’t update WordPress. If you don’t update WordPress, say goodbye to Security! It’s enough to not touch it, don’t you think?
What about Themes? If we need some new functionalities we can add them inside the functions.php file. Each Theme contains the functions.php file that is actually a Plugin: you can use it to do whatever you’d do with a Plugin.
The Plugin Territory
If we want to add a new functionality to our WordPress website, should we use a Theme or a Plugin? We have to consider the so-called Plugin Territory. Theoretically, it doesn’t matter which one we use, both a Theme and a Plugin let us customize WordPress. But there are some guidelines to follow.
If we need to add a function unique to the Theme it’s better to use the functions.php file. For example to add the menu support, post thumbnails, sidebars, customization of the look and feel of our Theme.
If we need to add a new function to the WordPress application or to extend an existing one, then we should use a Plugin. For example to add Custom Post Types or Shortcodes. All those functions that we want to use even if we change the Theme.
What is strictly related to a Theme is put inside the functions.php file, what is related to the whole application, whatever Theme is used, is put inside a Plugin.
We have seen what Plugins are, why and when they are used. In a following article I’ll talk about the main concepts of WordPress Plugin Development. Do you want to develop your own Plugin?