サーバーの仕様(PHPバージョン等)を変更できない、プラグインの更新のためにサーバーのアップデートが必要、プラグイン同士の相性など、理由は様々にあると思いますが、WordPress の更新通知を非表示(オフ)にして消したい場合があります。
この記事では、
- WordPress 本体の更新通知を非表示にする
- テーマの更新通知を非表示にする
- プラグインの更新通知を非表示にする
- 特定のプラグインの更新通知を非表示にする
これらのサンプルコードを記載します。
WordPress 本体の更新通知を非表示にする
WordPress 本体バージョンの更新通知を非表示にするには、フィルターフック pre_site_transient_update_core を使用します。
add_filter( 'pre_site_transient_update_core', '__return_null' );
開発モードがオン(wp-donfig.php 内 WP_DEBUG が true )の場合は Notice: Trying to get property ‘current’ of non-object エラーが出ますが、開発モードがオフであればそのエラーは出ませんでした。
テーマの更新通知を非表示にする
WordPress にインストールしているテーマの更新通知を非表示にするには、フィルターフック pre_site_transient_update_themes を使用します。
add_filter( 'pre_site_transient_update_themes', '__return_null' );
プラグインの更新通知を非表示にする
WordPress にインストールしているプラグインの更新通知を非表示にするには、フィルターフック pre_site_transient_update_plugins を使用します。
add_filter( 'pre_site_transient_update_plugins', '__return_null' );
特定のプラグインの更新通知を非表示にする
WordPress にインストールしているプラグインの一部の更新通知を非表示にするには、フィルターフック site_option__site_transient_update_plugins を使用します。
// 特定のプラグインの更新通知を非表示にする
if ( ! function_exists('my_site_option__site_transient_update_plugins') ) {
function my_site_option__site_transient_update_plugins($data) {
$plugin_array = array(
'plugin-folder/plugin-name.php',
'plugin-folder/plugin-name.php',
);
foreach( $plugin_array as $plugin_name ) {
if (isset($data->response[$plugin_name])) {
unset($data->response[$plugin_name]);
}
}
return $data;
}
add_filter('site_option__site_transient_update_plugins', 'my_site_option__site_transient_update_plugins');
}
更新通知を非表示にしたいプラグインを /wp-contents/plugins/ ディレクトリから探し、ディレクトリ名とプラグインファイル名を探します。
探したディレクトリ名とプラグインファイル名を配列 $plugin_array の plugin-folder と plugin-name.php に入力します。
以上となります。
コメント