Remove “Time to upgrade” message from dashboard

How to hide WordPress update mesages

CSS

The low-tech way to hide something is using css:

// Low-tech hiding of update-mesages
// source: http://wpsnipp.com/index.php/functions-php/hide-update-nag-within-the-admin/
function remove_upgrade_nag() {
   echo '<style type="text/css">
           .update-nag {display: none}
         </style>';
}
add_action('admin_head', 'remove_upgrade_nag');

This more-or-less works, but it is a lot of work to find al the places WordPress shows messages.

Add_action

A better way is using actions. The wordpress-core (core in this context is WordPress itself) update messages are triggered in wp-admin/includes/update.php, line 84 core_update_footer, and line 139 with the great name update_nag. We can use actions to disable these:

//hide core updates notification in the dashboard
function hide_wp_update_nag() {
    remove_action( 'admin_notices', 'update_nag', 3 ); //update notice at the top of the screen
    remove_filter( 'update_footer', 'core_update_footer' ); //update notice in the footer
}
add_action('admin_menu','hide_wp_update_nag');

As an alternative to:

add_action( 'admin_notices', 'update_nag', 3 );

You might want to use, for multi-site:

add_action( 'network_admin_notices', 'update_nag', 3 );

The dashboard notifications are a bit harder, bit this should do the job:

//hide plugin updates notification in the dashboard
function hide_plugin_update_indicator(){
    global $menu,$submenu;
    $menu[65][0] = 'Plugins';
    $submenu['index.php'][10][0] = 'Updates';
}
add_action('admin_menu', 'hide_plugin_update_indicator');

Although the update notices are hidden, it is still possible to see that something needs to be updated on the following pages (and do the updates):

  • /wp-admin/update-core.php
  • /wp-admin/themes.php
  • /wp-admin/plugins.php

Disabling updates

If you completely want to disable updates, use:

//http://codex.wordpress.org/Transients_API
add_filter('pre_site_transient_update_core', create_function('$a', "return null;")); // disable core update
add_filter('pre_site_transient_update_plugins', create_function('$a', "return null;")); // disable plugin update
add_filter('pre_site_transient_update_themes', create_function('$a', "return null;")); // disable theme update

This will completely disable updates for core, plugins and themes.

Plugins

You might put this code in a functionality plugin, so it works in all themes.

Some ready-made plugins:

Bonus

To find out how to exclude specific plugins from updating:

Leave a Comment