Writing WordPress Plugins For Existing Features

In a previous post, I’ve talked about the WordPress design philosophy of decisions, not options. And I’m working towards getting to a point, but I’ve got to set the foundation a bit about the whole thing first.

You can read the entire set of philosophies on this page, but here’s the gist about the one I’ve just mentioned:

When making decisions these are the users we consider first. A great example of this consideration is software options. Every time you give a user an option, you are asking them to make a decision. When a user doesn’t care or understand the option this ultimately leads to frustration.


As developers we sometimes feel that providing options for everything is a good thing, you can never have too many choices, right? Ultimately these choices end up being technical ones, choices that the average end user has no interest in.


It’s our duty as developers to make smart design decisions and avoid putting the weight of technical choices on our end users.

This is arguably my favorite philosophy that defines what should go into WordPress core and how; though I’d be remiss if I didn’t say I think there are areas for improvement.

(I know this is where the discussion can take a turn into left field but I don’t know to do that, nor am I trying to start armchair quarterbacking.)

But here’s the question:

If there’s an area of the WordPress UI that can be improved by a plugin that does the same set of functionality that already exists in the plugin, is it worth creating the plugin if the feature already exists?

Does it make sense to create WordPress plugins for existing features if the plugin adheres to the “designs, not options” philosophy more so than the core feature?

WordPress Plugins For Existing Features

First, I recognize the bit of lack of logic that’s included in this statement. I mean, what I’ve out is:

  1. We need to make more decisions on behalf on of the user and offer them fewer options.
  2. An option already exists in core.
  3. Creating a plugin for to introduce functionality that already exists, thus duplicating it, but streamlining it so that it makes a decision for the user on their behalf.

So perhaps the discussion stops with the third point above. But, for the sake of discussion (for argument, if that’s your flavor), I want to take an example just for this post.

A Look at Discussion Settings

The Discussion Settings that exist under the Settings menu for WordPress can be a bit overwhelming even for, what I believe, is the intermediate-level blogger let alone beginner or developer type.

WordPress Plugins For Existing Features
The Discussion Settings Screen.

It takes a little bit of time not only read to read through the options that exist but to make sense of them. And then, there are more advanced options like the Comment Blacklist which I think could likely be part of an Advanced tab.

But I digress.

There’s an option present under Other comment settings that states:

“Automatically close comments on articles older than days.”

This feature, in and of itself, isn’t bad, but what if I want to close comments on articles older than days only if they have 0 comments. Now, that conditional – that is, “if they have 0 comments” – I think is an example of what a plugin can handle.

But the option that’s presented as it is. That is:

“Automatically close comments on articles older than days.”

I see the reason this is an option. No one should make a decision on behalf of a user on how their comments should be handled.

  • Is the way it’s presented, though, as clear as it could be?
  • Is the screen in and of itself conducive to having users read, respond, and tweak and necessary? Or is it so overloaded with options they simply duck out of it?
  • Could this particular feature be relegated to a plugin (or part of a suite of plugins) directly related to comment management to allow users to control their comments via plugins?

After all, plugins are primarily for functionality, and comment moderation has more to do with functionality than presentation.

Does it make sense, then, to create a WordPress plugin for existing features like this with the idea that it’s a simple install, activate-and-go, for users without having them scan an entire list of options and make sense of what’s presented to them?

Personally, I’m on the fence, but I’m genuinely interested in at least experimenting with it to see how it might perform. Sure, this means I should just put my code where my thoughts are – and maybe I will 😎 – but that doesn’t change the fact I’m curious in the ideas for others.

8 Replies to “Writing WordPress Plugins For Existing Features”

  1. It’s a good question. Disabling comments is another area within Discussion Settings I could see being improved. Right now to disable comments on an existing blog you’ve got to set two options. You need to uncheck allowing people to post comments on new articles, and set comments to close automatically on your older posts. Not very intuitive for a simple thing like globally disabling commenting.

    The general WP user likely won’t be able to decipher those settings, but a plugin to simple disable comments would make things a lot easier.

  2. If some features already exists, then what is the need to have a plugin that serves the same purpose! It is no way a smart thing to increase the load of any website with tons of unnecessary plugins IMHO.

    1. I agree – all plugin talk aside, this particular screen is a bit overwhelming even for those who are comfortable with all of the options.

      It’s a lot to wade through.

  3. The Discussion Settings page is horrible, no doubt.

    But adding a new plugin to basically mask/cover up the existing page is not the right choice I think.

    A beginner will not think to look for such a plugin and anyone with intermediate+ skills should know which boxes to quickly tick.

    1. But adding a new plugin to basically mask/cover up the existing page is not the right choice I think.

      Yeah – I get that. However, WordPress also has the feature plugin model where they introduce functionality on top of pre-existing functionality as a sort of test to see how it pans out.

      And so I’d see this as potentially fitting in that vein. But I also see it as a potential custom solution for someone.

      A beginner will not think to look for such a plugin and anyone with intermediate+ skills should know which boxes to quickly tick.

      True! But those beginners and/or intermediates may also appreciate a more streamlined approach, too.

      I’m not trying to go tit-for-tat with you here, either. I’m just throwing out potential use cases :).

Leave a Reply