問題描述
到目前為止,我一直在使用以下代碼來刪除儀表盤更新消息 (「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 版本兼容的此消息?
最佳解決方案
如何隱藏 WordPress 更新記錄
CSS
low-tech 的隱藏方式是使用 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');
這個 more-or-less 的作品,但是很多工作要找到 WordPress 顯示消息的地方。
Add_action
更好的方法是使用動作。 wordpress-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 );
您可能想要使用,對於 multi-site:
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');
雖然更新通知是隱藏的,但仍然可以看到需要在以下頁面上更新某些內容 (並進行更新):
-
/wp-admin/update-core.php
-
/wp-admin/themes.php
-
/wp-admin/plugins.php
禁用更新
如果您完全禁用更新,請使用:
//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
這將完全禁用核心,插件和主題的更新。
Plugins
您可以將此代碼放在 functionality plugin 中,因此它適用於所有主題。
一些 ready-made 插件:
-
No update nag plugin 也可以做 (一些) 這個給你
Bonus
瞭解如何排除特定的插件更新:
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。