I am using a couple of wordpress plugins for my theme, enabling them programmatically.

I would not want the user of my theme to be bugged with plugin updates for these plugins, as well as viewing them in the wordpress admin panel plugins lists.

Is there a way to exclude these plugins from automatic version checker and the plugins list ?

  • 1
    question: while the plugin update notification can be annoying, how do you plan on keeping them up to date?
    – Norcross
    Dec 25, 2011 at 5:32

3 Answers 3


RE: Excluding plugins from update checks

Yes you can exclude plugins from the update checker, there's no pretty solution, ie. no convenient filter to just say, here exclude these for me, but it can be done, Mark Jaquith did a blog on it a while back(and it is a relatively easy solution).

function cws_hidden_plugin_12345( $r, $url ) {
    if ( 0 !== strpos( $url, 'http://api.wordpress.org/plugins/update-check' ) )
        return $r; // Not a plugin update request. Bail immediately.
    $plugins = unserialize( $r['body']['plugins'] );
    unset( $plugins->plugins[ plugin_basename( __FILE__ ) ] );
    unset( $plugins->active[ array_search( plugin_basename( __FILE__ ), $plugins->active ) ] );
    $r['body']['plugins'] = serialize( $plugins );
    return $r;

add_filter( 'http_request_args', 'cws_hidden_plugin_12345', 5, 2 );
function cws_hidden_theme_12345( $r, $url ) {
    if ( 0 !== strpos( $url, 'http://api.wordpress.org/themes/update-check' ) )
        return $r; // Not a theme update request. Bail immediately.
    $themes = unserialize( $r['body']['themes'] );
    unset( $themes[ get_option( 'template' ) ] );
    unset( $themes[ get_option( 'stylesheet' ) ] );
    $r['body']['themes'] = serialize( $themes );
    return $r;

add_filter( 'http_request_args', 'cws_hidden_theme_12345', 5, 2 );

Source: Excluding your plugin or theme from update checks.

RE: Excluding plugins from the plugins list

Yes, quite possible, i wrote myself a plugin for doing just this but you're more than welcome to the code.

Plugin Hider - pulled straight from my dev environment copy, so make your own adjustments as necessary.

Personally i mark all the plugins i want to hide with Author: hideme and that covers the lot for me(nothing i'll distribute so marking them that way isn't a problem).

If you try the plugin out, click the Plugin Hider link in the menu to set it up, it'll do the rest. You can of course comment out the code that creates the menu item once you've got it setup, just be sure not to forget you have a plugin that hides others(couple of times i've had myself in circles as a result).

Hope that addresses your question... :)

  • hi t31os, do you still have the Plugin Hider code? The link is dead :/ - thx!
    – brasofilo
    Jul 5, 2012 at 18:32
  • 1
    @brasofilo - Pastebin link still working for me.
    – t31os
    Apr 11, 2013 at 19:02
  • Holler, it is indeed. Bad internet day, I suppose.
    – brasofilo
    Apr 11, 2013 at 19:29
  • No worries.. :)
    – t31os
    Apr 11, 2013 at 20:07

You could use Must-use plugins (a.k.a mu-plugins) for this purpose. By moving the plugins to a folder called mu-plugins within wp-content, the update nag and possibility to deactivate them will be disabled.

The plugins will however still be shown in the plugins list.

Make sure to read up in the WordPress Codex on the subject before taking this approach since there are some caveats to take into consideration.


To disable plugin update notification: http://wordpress.org/extend/plugins/disable-wordpress-plugin-updates/

or simply add the following snippet in functions.php

remove_action( 'load-update-core.php', 'wp_update_plugins' );
add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );

You can remove plugin menu from backend by adding the following snippet in functions.php

add_action('admin_head', 'remove_menu');
function remove_menu() {
global $menu;
  • hmm, it seems that this disables notification for all plugins. But i would like to do it only for some particular ones.
    – SpyrosP
    Jul 25, 2011 at 3:29
  • To disable individual plugin, you have to remove the URI inside the specific plugins
    – Sean Lee
    Jul 25, 2011 at 3:33
  • another option, you can always include those plugins in your theme, of course, plugins must be coded with relative path. I personally like to keep the URI and version.
    – Sean Lee
    Jul 25, 2011 at 3:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.