What Are WordPress Plugins?

Plugins are one of WordPress’ most powerful assets. In essence, plugins are modules you activate on your website to provide a series of features or elements.

The functionality you can add to your website depends on what each specific plugin has been created to do. There are a wide selection of plugins, ranging from simple plugins (such as ones that add styling or small theme changes) all the way to extensive plugins (that provide significant changes such as eCommerce integrations or third party connections).

Plugins are different from your theme and work independently, using hooks, filters, short code, widgets and custom code to perform their functionality.

Strengths, Weaknesses & Considerations

Plugins are great, they provide both developers and admins with a way to extend and re-use functionality. While they are a great tool they do still have both their strengths and weaknesses.


  • You can add plugins with almost any theme and expect it to work correctly. Plugins were created to be modular so that you can copy into a new project (or distribute) which is great.
  • A plugin acts as a container for all of your code and elements. If you were to build similar functionality in the theme you might get the elements mixed up. With a plugin, everything that needs to function exists within a single package.
  • They are easy to make and can take advantage of WordPress’s action and filter hooks.
  • Can be created easily in an Object Orientated fashion, creating more robust and manageable code.


  • Limited access to the website’s theme. Plugins can’t output code directly into a location on a theme. A theme has to provide an area for your plugin to output such as the content area or via a widget area.
  • Plugin conflicts do occur. Sometimes another plugin (or even the theme) will negatively affect your plugin and it can ruin the experience (for example, you could be using the WordPress media uploader and it has been altered and not longer functions as expected, ruining your plugin).
  • Limited access to templates and design. Plugins are supposed to provide the functionality and the theme provides the styling.

Core Concepts – Actions, Filters, Short codes, Widgets and More

Let’s take a moment to talk about some key aspects of plugin development.

You might be familiar with these areas if you have worked on WordPress themes, however, a solid understanding of how these concepts work will help you build easy to use and maintainable functionality.


If you are looking at learning more about widgets you should start with the WordPress Widget API codex page. This page outlines the majority of what you need plus it provides a documented working example.

 Widgets are important because they give you another means of executing your plugins code while providing an easy to use interface.

A sample short code with configuration options.

Since most themes will support one or more sidebars; adding your own widgets will give you quick access to display your information inside the theme.

Widgets are more complex than short codes but follow the same principals – defining some options for its output and then displaying it on the front-end.