Link to home
Start Free TrialLog in
Avatar of oo7ml
oo7ml

asked on

Hide Plugin From Plugins List

Hi,

Is it possible to hide plugins from the plugins list. I have a 2 plugins that i always set up on each of my client's websites.

A few of my clients have started playing around with the settings that the plugins provide and therefore they have messed up their website, so i'd like to start hiding these from now on.
Avatar of DrDamnit
DrDamnit
Flag of United States of America image

I don't think there's a way that you can hide a plug-in. But there is probably is a way that you can modify the plug in to give them a warning that any changes that they make if they break their website that they will have to pay you to get them fixed. Fair warning makes sending an invoice very easy.
Or even better: you could just backup the database and when they break their website just will restore. They might lose some data, but that's what they get if they can't follow directions.
Avatar of oo7ml
oo7ml

ASKER

Yeah, but when clients see the settings available the want to understand what each option does etc... a much simpler method would be to hide the plugin
What you want is compliant behavior from the client. Charge for training instead of trying to hack the WP core. I am fairly sure that what you're asking isn't available without hacking the core, and that's just not a good idea because it could introduce vulnerabilities or instability.
SOLUTION
Avatar of DrDamnit
DrDamnit
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of oo7ml

ASKER

Ok cool, thanks... i'll look into this... i thought there might be a few lines of code that could be added to the plugin itself to hide it.
If I have some time later today, I can grep the code and see if that filter still exists...
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I like Tom's post better.
Avatar of oo7ml

ASKER

Thanks Tom and Michael.

Could you elaborate on the Must_Use_Plugins approach please?
Create a folder inside the wp-content folder called mu-plugins. Move the directories for the plugins that you want to hide from the plugins folder over to the mu-plugins folder. Now when you log in to the Dashboard and go to Plugins, you will see a new link at the top for Must-Use. On that page will be the plugins you moved into the mu-plugins folder.

Next, go to the functions.php file inside your theme folder and add the code I suggested to hide the link to the Must-Use section. The code works, I just tested it. If you ever need to manage those plugins in the future you will have to comment out this line in the functions.php file so the Must-Use link comes back.

add_filter( 'show_advanced_plugins', 'hide_plugin_list', 10, 2 );
Avatar of oo7ml

ASKER

Thanks Tom, much appreciated.

Do i need to create / set all of this up before i install the plugins.

I presume if i move the plugins now it will cause problems as they are installed from a different directory. Thanks again for your help on this, it's much appreciated.
WP never gives you a choice as to what folder to install a plugin. Supporting files for a plugin installation always go in the Plugins folder. But WP knows to also look in the mu-plugins folder for supporting files if that folder exists. Just physically moving the supporting files from the plugins folder to the mu-plugins folder should be all you need to do. At the link I provided you will see that physically moving the plugin files is the only way to make a must-use plugin. It's by design, originally created to allow administrators to physically add plugins to multiple sites without logging in to each dashboard. "mu" originally meant "multi-user". Possibly, if a plugin requires another folder outside of itself to function, like an uploads folder for example, moving the files may break the plugin depending on how it was written. But I never experienced this. Anyway, experimenting will not permanently hurt anything. You can always just restore the original location.
Also understand that this method only hides the plugin from the list. If the plugin you are hiding creates menu items on the left side of the Dashboard as part of the installation, and these menu items allow a user to change settings, they are still going to have those menu items unless you remove them using additional code hacks.
Avatar of oo7ml

ASKER

Thanks Tom,

One of the plugins i use is used to hide some of the tabs in the left menu :-) yet some of my clients access the settings for this plugin on the plugins page and start messing up things. Thanks for all your help.