• 作成日:

WordPress本体とプラグインの更新情報を表示させない設定方法

Wordpress本体とプラグインの更新情報を表示させない設定方法

WordPress本体の更新情報と、プラグインの更新情報を管理画面で表示させない設定について説明します。

前提条件は以下

  • 管理者、もしくは特定のユーザーID以外は非表示にする
  • WordPress本体とプラグインの更新通知を非表示にする

説明する環境は以下

  • macOS Catalina v10.15.5
  • Visual Studio Code v1.46.1

WordPress本体とプラグインの更新情報を表示させない設定方法

セキュリティの観点からは常に最新バージョンを保つようにしますが、保守する人がいるならその人だけ更新情報を見れるように設定します。

WordPressで用意されている権限は以下の5つ。今回は管理者だけに更新情報を表示させるようにします。また、コードはすべてfunctons.phpに書いていきます。

  • 管理者:administrator
  • 編集者:editor
  • 投稿者:author
  • 寄稿者:contributor
  • 購読者:subscriber

アドミンバーにある更新アイコンを非表示にする

以下のようにアドミンバーに更新情報が表示されるので管理者以外には非表示にします。

//管理画面上部ツールバーに更新アイコンを非表示
function hide_adminbar_update_icon() {
  if ( !current_user_can( 'administrator' ) ) { //管理者以外は非表示にする
  global $wp_admin_bar; $wp_admin_bar->remove_menu( 'updates' );
  }
}
add_action( 'wp_before_admin_bar_render', 'hide_adminbar_update_icon' );

ダッシュボードにある「更新」を非表示

ダッシュボードをクリックすると更新が表示されます。この更新を管理者以外には非表示にします。

// ダッシュボードにある「更新」を非表示
function update_remove_menus() {
  if ( !current_user_can( 'administrator' ) ) { //管理者以外は非表示にする
    remove_submenu_page('index.php', 'update-core.php'); //ダッシュボード/更新
  }
}
add_action('admin_menu', 'update_remove_menus');

WordPress本体の更新通知を非表示

WordPress本体のバージョンアップを促す更新通知を管理者以外は非表示にします。

// WordPress本体の更新通知を非表示
function hide_update_notices() {
  if ( !current_user_can( 'administrator' ) ) { //管理者以外は非表示にする
      remove_action( 'admin_notices', 'update_nag', 3 );
  }
}
add_action( 'admin_init', 'hide_update_notices' );

サイドバーの「プラグイン」を非表示

クライアント側でプラグインの操作をしないのであれば、「プラグイン」の項目ごと管理者以外は非表示にします。

function plugin_remove_menus() {
  if ( !current_user_can( 'administrator' ) ) { //管理者以外は非表示にする
    remove_menu_page( 'plugins.php' ); //プラグインメニュー
  }
}
add_action('admin_menu', 'plugin_remove_menus');

プラグインの項目は残しつつ、更新情報だけ消す方法もあります。

// プラグインの更新通知を非表示
if ( current_user_can( 'administrator' ) ) {
  add_filter('pre_site_transient_update_plugins', '__return_null');
}

ユーザーIDごとに条件分岐するには?

管理者などの権限ではなく、ユーザIDごとに表示を切り替えることもできます。3、4行目で条件分岐しています。

//管理画面ダッシュボード上に更新通知を載せない
function update_remove_menus() {
  $current_user = wp_get_current_user(); //ログインしているユーザー情報を取得
  if( $current_user->ID != "2") { //ユーザーIDが2以外は非表示
    remove_submenu_page('index.php', 'update-core.php'); //ダッシュボード/更新
  }
add_action('admin_menu', 'update_remove_menus');

ユーザーIDの調べ方については、以下の記事を参考にしてみてください。

おわりに

基本的にはWordPress本体やプラグインは常に新しいバージョンにすることをオススメします。低いバージョンのままだとセキュリティが甘くなり、ハッキングされる可能性が高くなります。ただしバージョンアップによって表示が崩れることもあるので、保守できる人に更新作業してもらうと良いでしょう。