Story time. Once upon a time, a man walked up to three brick layers at a building site. He asked the first, “what are you doing?” to which the brick layer replied, “I am laying bricks”. Curious, he asked the second what they were doing. The second brick layer’s response was, “I am building a wall.” Now more curious, he asked the third. The response he received was, “I’m building a cathedral”.
This parable is a clear reminder of the importance of knowing the greater purpose behind our actions. This story resonates with me in the context of WordPress plugins as well.
Asking “why” usually leads to poor answers, so lets ask rather what is the reason we build WordPress plugins. Who are these plugins for? What is their reason for being created?
Factually speaking, WordPress plugins exist to add features or adjustments to WordPress which don’t exist within the core software. Zooming out from this statement, there is a lot more to unpack.
WordPress plugins enable anyone to transform WordPress into something different or more than the core software. With a single plugin, WordPress can become a CRM, online store, marketplace, or anything else in addition to being an amazing blogging and content management tool (even a terms list block).
Additionally, plugins continue to live within WordPress. A part of what every plugin’s mission is involves serving to enhance WordPress itself, for the benefit of the user.
So before we ask “why”, lets remember the integral part that plugins play in the WordPress experience, and that the plugin serves it’s users. Throughout development, keep your users in mind. If your plugin includes a “delete” action, make sure the user is aware of what they’re doing before the action is taken. If your plugin adds options, metadata, custom database tables, etc, be sure to include an uninstall.php file to help the user clean up if they choose to uninstall your plugin.
A most importantly, remember that your users are experiencing your plugin in the context of their WordPress which may also include other plugins, custom code, and more. Plugins should complement one another, should act responsibly, and should act with the best interests of the user in mind.
At the end of the day, when building plugins, we’re building our part of a cathedral, not simply laying bricks one on top of the other.



