WordPressで本体や特定のプラグインのアップデート通知を非表示にする方法をまとめてみた

WordPressでは本体機能もプラグインも、自動で最新版にアップデートができるという素晴らしい機能があります。

この機能のおかげで、追加機能やバグの修正版が出た場合でも、ボタン1つで最新のパッケージが利用出来るため、いちいちファイルをダウンロードしてサーバー上のファイルを更新するという手間がありません。

とても便利な自動更新機能なのですが、何かの都合で本体を更新出来ない場合や、更新したくないプラグインが存在する場合、サイドバー等に常に更新通知が表示されるため、逆に非常に煩わしいものに変わってしまいます。

そんな時、WordPress本体や特定のプラグインの更新通知を非表示にする方法があるので紹介します。

WordPress本体のアップデート通知を非表示にする

これは下記のサイトを参考にしました。

利用しているテーマの functions.php に下記のコードを記述するだけです。

add_filter('pre_site_transient_update_core', create_function('$a', "return null;"));

これでWordPress本体のアップデート通知は無効になります。

特定のプラグインのアップデート通知を非表示にする

これは調べてもやっている方がいないようなので、WordPress本体のソースを解析してみました。

利用しているテーマの functions.php に下記のコードを記述します。

add_filter('site_option__site_transient_update_plugins', 'filter_hide_update_notice');
function filter_hide_update_notice($data) {
	if (isset($data->response['プラグインのメインファイルまでのファイルパス'])) {
		unset($data->response['プラグインのメインファイルまでのファイルパス']);
	}
}

「プラグインのメインファイルまでのファイルパス」は、WordPressの wp-content/plugins ディレクトリの直下から、プラグインのメインファイルまでのパスを、相対パスで指定します。

例えば私の環境では、最新版に更新することで大幅に機能低下してしまうため、過去バージョンのまま利用しているYARPP(Yet another related posts plugin)というプラグインがあります。

これを例にすると、下記のように記述します。

add_filter('site_option__site_transient_update_plugins', 'filter_hide_update_notice');
function filter_hide_update_notice($data) {
	if (isset($data->response['yet-another-related-posts-plugin/yarpp.php'])) {
		unset($data->response['yet-another-related-posts-plugin/yarpp.php']);
	}
}

これで、特定のプラグインの更新通知を無効にする事ができます。