Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

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 ?

share|improve this question
1  
question: while the plugin update notification can be annoying, how do you plan on keeping them up to date? –  Norcross Dec 25 '11 at 5:32
add comment

3 Answers

up vote 4 down vote accepted

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).

/**
 * FOR PLUGINS
*/
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 );
/**
 * FOR THEMES
*/
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... :)

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

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.

share|improve this answer
add comment

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;
unset($menu[65]);
}
share|improve this answer
    
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 '11 at 3:29
    
To disable individual plugin, you have to remove the URI inside the specific plugins –  Sean Lee Jul 25 '11 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 '11 at 3:43
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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