WordPressの管理画面で不要なウィジェットや通知を非表示にする方法

結論

functions.phpとCSSにて非表示にします。(正規のやり方かどうかは分かりません)

解説

環境条件

  • WordPress 5.7.1

表示オプションにリストされる項目を非表示にする

WordPressが用意しているremove_meta_box関数を利用します。
以下のような内容をfunctions.phpに追加します。

<?php
function remove_dashboard_widgets() {
  remove_meta_box( 'dashboard_site_health', 'dashboard', 'normal' ); // サイトヘルスステータス
  remove_meta_box( 'dashboard_activity', 'dashboard', 'normal' ); // アクティビティ
  remove_meta_box( 'dashboard_right_now', 'dashboard', 'normal' ); // 概要
  remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' ); // クイックドラフト
  remove_meta_box( 'dashboard_primary', 'dashboard', 'side' ); // WordPressニュース
  remove_action( 'welcome_panel', 'wp_welcome_panel' ); // ようこそ
}
add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );

プラグイン固有の項目がある場合はCSSで非表示にします。
管理画面のCSSはcssに記載されていますが、アップデートで上書きされてしまうので、直接変更するより
別のCSSファイルを用意しておいて、それを読み込むようにした方が確実です。
以下のような内容をfunctions.phpに追加します。
ここではwp-admin.cssというファイル名で作成することとします。

function theme_admin_enqueue() {
    wp_enqueue_style( 'theme_admin_css', get_template_directory_uri() . '/wp-admin.css' );
}
add_action( 'admin_enqueue_scripts', 'theme_admin_enqueue' );

wp-admin.cssに以下のような内容を記載します。
<PLUGIN_CLASS_NAME><PLUGIN_WIDGET_NAME>にはプラグイン独自のクラス名を入れてください。
クラス名の確認は、Chromeのデベロッパーツールを使うことで簡単に探すことができます。
(デベロッパーツールの説明はここでは割愛します)

@charset "utf-8";

label[for="<PLUGIN_CLASS_NAME>-hide"] {display:none!important}
#<PLUGIN_WIDGET_NAME> {display:none!important}

画面上部に通知されるプラグインのメッセージなどを非表示にする

これもCSSで非表示にします。
wp-admin.cssに以下を追加します。

.notice.notice-info.<PLUGIN_CLASS_NAME> {display: none}

以上で管理画面で要らないウィジェットや通知を非表示にすることができました。

参考

関連記事

  1. WordPressの追加CSSが保存されている場所

  2. WordPressで部分的にレイアウトを共通化する方法

カテゴリ

アーカイブ