これまで私は次のコードを使ってダッシュボードの更新メッセージを削除してきました( "WordPress 3.5は利用可能です。今すぐ更新してください。"):
remove_action('wp_version_check', 'wp_version_check');
remove_action('admin_init', '_maybe_update_core');
add_filter('pre_transient_update_core', create_function( '$a', "return null;"));
しかし、現在のWordPressのバージョンではこれ以上機能しないようです。それ以降のWordPressのバージョンと互換性があるこのメッセージを削除する新しい方法はありますか?
何かを隠すためのローテクな方法は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');
これは多かれ少なかれ機能しますが、WordPressがメッセージを表示する場所を見つけるのは大変な作業です。
もっと良い方法はアクションを使うことです。 wordpress-core(この文脈ではcoreはWordPress自身です)更新メッセージはwp-admin/includes/update.php
、84行目のcore_update_footer、および139行目でupdate_nagという名前で起動されます。アクションを使ってこれらを無効にすることができます。
//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');
代わりに:
add_action( 'admin_notices', 'update_nag', 3 );
あなたはマルチサイトのために、使うことを望むかもしれません:
add_action( 'network_admin_notices', 'update_nag', 3 );
ダッシュボードの通知は少し難しくなりますが、これでうまくいくはずです。
//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');
更新通知は隠されていますが、それでも何かが次のページで更新される必要があることを確認することができます(そして更新を行います):
更新を完全に無効にしたい場合は、次のようにします。
//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
これにより、コア、プラグイン、およびテーマの更新が完全に無効になります。
このコードを 機能性プラグイン に入れると、すべてのテーマで機能します。
いくつかの既製のプラグイン:
更新から特定のプラグインを除外する方法を見つけるには: