Disable update notification for individual plugins

Is there a way to disable update notifications for specific plugins?

As a plugin developer, I have some plugins installed on my personal site using the svn trunk version for testing, but the same plugins are available from the plugin site. In these cases WP considers the latest version to be the most recently published version and constantly tries to warn me that updates are available.

Read More

I still want to see notifications for updates on other plugins, but it’s anoying to constantly ignore the Updates (2) notice in the header!

Related posts

Leave a Reply

3 comments

  1. For example if you don’t want WordPress to show update notifications for akismet, you will do it like:

    function filter_plugin_updates( $value ) {
        unset( $value->response['akismet/akismet.php'] );
        return $value;
    }
    add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
    
  2. Hameedullah Khan’s answer will throw a PHP warning. Include this if clause to check to make sure it’s an object before unsetting the response for that plugin.

    ‘Warning: Attempt to modify property of non-object’

    Try this to avoid the warnings (code for the plugin file itself):

    // remove update notice for forked plugins
    function remove_update_notifications($value) {
    
        if ( isset( $value ) && is_object( $value ) ) {
            unset( $value->response[ plugin_basename(__FILE__) ] );
        }
    
        return $value;
    }
    add_filter( 'site_transient_update_plugins', 'remove_update_notifications' );
    

    I like to put this in the actual plugin. Since I’ve only ever disabled updates on a plugin because I’ve edited or forked the code and don’t want to lose my edits on an update, I’ve already edited the plugin and thus don’t mind editing it more. It keeps my functions file a bit cleaner. But if you wish you can put it in the functions file and a benefit to that method is you can remove multiple plugins from updates by adding another unset line for that plugin like so (code for functions.php):

    // remove update notice for forked plugins
    function remove_update_notifications( $value ) {
    
        if ( isset( $value ) && is_object( $value ) ) {
            unset( $value->response[ 'hello.php' ] );
            unset( $value->response[ 'akismet/akismet.php' ] );
        }
    
        return $value;
    }
    add_filter( 'site_transient_update_plugins', 'remove_update_notifications' );
    
  3. Disable All Update Notifications with Code

    function remove_core_updates(){
            global $wp_version;return(object) array('last_checked'=> time(),'version_checked'=> $wp_version,);
        }
        add_filter('pre_site_transient_update_core','remove_core_updates');
        add_filter('pre_site_transient_update_plugins','remove_core_updates');
        add_filter('pre_site_transient_update_themes','remove_core_updates');
    

    Code will disable update notifications for the WordPress core, plugins, and themes.