Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPBカップ
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

WordPressでカスタマイザー通知を追加する方法(2つの簡単な方法)

よく読者の方から、WordPressでカスタムの管理者通知を追加する方法を尋ねられます。

WordPress コア、テーマ、プラグインは、ダッシュボードでユーザーにエラーや警告などの管理者通知を表示します。WordPress サイトの管理者であれば、カスタム通知を作成して、サイトに関する重要な情報をチームメンバーに通知することもできます。

この投稿では、WordPressでカスタマイザー通知を簡単に追加する方法を紹介する。

How to Add Custom Admin Notices in WordPress

なぜWordPressにカスタマイザーを追加するのか?

管理者通知は、WordPress 管理エリア内でユーザーに重要な情報を通知するものです。例えば、WordPress コア、プラグイン、テーマに関するエラー、警告、アラート、成功メッセージなどがあります。

Admin notice example

これらの通知はWordPressダッシュボードにビルトインされている機能ですが、カスタムの管理者通知を作成することもできます。

例えば、WordPressに不慣れなクライアントのためにWordPressサイトを制作するとします。WordPressの管理エリアに役立つ情報を表示するために、管理者通知を追加するかもしれません。

カスタマイザーを使用した他の例としては、以下のようなものがある:

  • メンテナンス中のためサイトが利用できなくなることをチームメンバーに知らせる。
  • 複数著者のサイトを運営している場合、ライターやエディターがダッシュボードで編集ワークフローをナビゲートできるようにガイドします。
  • WordPressでタスク、コンテンツ、メディアを管理する際の注意点をユーザーに伝える。

すべてにおいて、カスタマイザーは自分自身やサイトで働く他のユーザーにメッセージを伝えるのに便利です。とはいえ、通知が多すぎると迷惑になるので、賢く使う必要があります。

それでは、WordPressでカスタマイザー通知を追加する方法を見ていきましょう。ここでは2つの方法を紹介しますが、以下のクイックリンクから使いたいほうに飛ばしてください:

方法1:プラグインでWordPress管理画面にカスタマイザーを追加する

この方法では、WP Custom Admin Interfaceプラグインを使用します。このプラグインを使用すると、カスタムの管理者通知を表示するなど、WordPressダッシュボードを好みに合わせてカスタマイズすることができます。

最初のステップは、WP Custom Adminインターフェースプラグインをインストールして有効化することです。ステップバイステップの手順については、WordPressプラグインのインストール方法をご覧ください。

次に、カスタマイザー Admin Noticeにアクセスしてください。ご覧の通り、プラグインの設定ページはクラシックエディターとよく似ています。

The WP Custom Admin plugin settings for admin notices

下にスクロールして、管理者通知メッセージを挿入する必要があります。

テキストエディター、またはビジュアルエディターの上にあるショートコードオプションを使用することができます。

2番目の方法を使用すると、メッセージは提供されたショートコードに基づいて動的にコンテンツを生成します。つまり、ショートコード[WEBSITE_URL]を使用した場合、ショートコードはあなたのサイトのドメイン名に置き換えられます。

さらに、テキストボックスの上にあるツールバーを使って、画像やその他のメディアファイルを追加したり、テキストをスタイライズすることもできます。

Inserting the custom admin notice content using WP Custom Admin plugin

下に移動すると、カスタム管理者通知の色を選択することができます。初期設定は以下の通りです:

  • 緑色の成功メッセージ
  • 緊急ではないが重要なお知らせは青
  • 警告メッセージは黄色
  • エラーメッセージは赤色

もう一つカスタマイズできるのは、通知終了日または通知を無効化するタイミングです。有効期限がない場合は、空白のままにしておいてください。

また、緑や青の色を使った通知の場合は、メッセージを解除できるようにすることをお勧めします。警告やエラーの場合は、問題によっては問題が解決するまで表示し続けた方がよいでしょう。

最後に、通知をすべてのユーザーに見えるようにするか、特定のユーザーのみに見えるようにするかを設定できます。後者を選択した場合、「+」ボタンをクリックして、どのユーザー権限グループに対して通知を非表示にするかを指定することができます。

新しい通知に満足したら、「すべての設定を保存」をクリックするだけです。

Saving the custom admin notice in WP Custom Admin plugin

それで終わりだ!

カスタマイザーがどのように表示されるかを確認するには、WordPressダッシュボードの任意のページにアクセスしてください。メッセージは画面の一番上にあるはずです。

Custom admin notice example made with WP Custom Admin plugin

方法2:コードでカスタムのWordPress管理者通知を追加する

WP Custom Admin Interfaceプラグインは使いやすいですが、あなたのニーズとは関係のない追加機能がたくさん含まれています。カスタム管理画面の作成だけに興味があるのであれば、やり過ぎと感じるかもしれない。

さらに、WP Custom Admin Interfaceでは一度に一つのカスタム通知しか表示できません。WordPressダッシュボードの異なるページに複数のお知らせを表示したい場合、プラグインは適切な設定ではないかもしれません。

その代わりに、WordPressでコードを使って手動でお知らせを追加することができます。これにより、余計なことをせずにカスタマイザーを追加することだけに集中でき、必要に応じて複数のお知らせを表示することができます。

WordPressでのコーディングが怖いと思われる方、ご安心ください。WPCodeを使った簡単で安全なカスタムコード挿入方法をご紹介します。それは、WPCodeを使用することです。これは、市場で最高の、最も初心者に優しいカスタムコードスニペットプラグインです。

WPCodeを使えば、WordPressのコアファイルに直接触れることなく、簡単にコードを挿入・管理することができます。この方法で、サイトを壊す可能性はゼロに等しくなります。

WPCode - Best WordPress Code Snippets Plugin

WPCodeの詳細については、WPCodeレビューをご覧ください。

注: このチュートリアルに従うには、WPCodeの無料版またはプレミアムプランのいずれかを使用することができます。WPCode Proを使用すると、永続的な変更を行う前にコードがどのように動作するかを確認するためのテストモードのような、あなたのコードをさらに管理するための高度な機能を得ることができます。

WPCodeを使用するための最初のステップは、プラグインをインストールして有効化することです。WordPressプラグインのインストール方法については、こちらの投稿をご覧ください。

次に、Code Snippets “ + Add Snippetに移動するだけです。Add Your Custom Code (New Snippet)の下にある、’+ Add Custom Snippet’をクリックします。

Adding a new custom code snippet in WPCode

カスタムコードスニペットのタイトルを挿入して、必要であれば後で編集できるようにします。Custom Admin Notice(カスタム管理者通知)」のようなものです。

次に、コードタイプを「PHPスニペット」に変更する。

それが済んだら、以下のコードをコピー&ペーストしてコード・プレビュー・ボックスに貼り付けるだけです:

function wpb_admin_notice() {
	echo // Customize the message below as needed
	'<div class="notice notice-warning is-dismissible">
	<p>Important! We will not be publishing any new articles during the holidays. Please save your articles as drafts for the time being.</p>
	</div>'; 
}
add_action( 'admin_notices', 'wpb_admin_notice' );

画面はこんな感じ:

The custom admin notice code snippet in WPCode

このコードはWordPressのwpb_admin_notice()という関数を定義しています。この関数の中には、警告メッセージをスタイル化されたボックスに出力するecho文があります。

その文の下に<div class="notice notice-warning is-dismissible">とあります。これは管理者通知のタイプを指定するCSSクラスで、この場合は警告です。このため、通知欄は黄色の枠線になります。

また、notice-warningの行をnotice-error(赤)、notice-info(青)、notice-success(緑)に置き換えることもできる。

CSSクラスの下には、実際のお知らせコンテンツがある。ここでは、休暇中は新しい投稿が公開されないことをユーザーに知らせ、当分の間記事を下書きとして保存するようアドバイスしています。<p>と </p>の HTMLタグの間のテキストは、あなた自身で置き換えることができます。

add_action('admin_notices','wpb_admin_notice');の行は、この関数をWordPressの'admin_notices'アクションにフックします。これは、WordPressの管理エリアに警告通知が表示され、すべてのユーザーに重要な情報を提供することを意味します。

コードを挿入したら、インサーターセクションまでスクロールダウンします。挿入方法が「自動挿入」、場所が「管理者のみ」になっていることを確認してください。

これらの設定により、スニペットはWordPressの管理エリアでのみ自動的に実行されるようになります。

Choosing Auto Insert and Admin Only in WPCode

その後、コード・スニペットを「有効化」し、「スニペットを保存」をクリックするだけだ。

テストサイトでのカスタマイザーはこんな感じです:

Custom admin notice example made with WPCode

カスタム管理者通知を期間限定で表示する

例えば、2時間のような特定の時間だけ管理者通知を表示させたいとします。これは、一時的な問題や一刻を争うお知らせに最適です。

この場合、上記と同じ手順で、WPCodeを使って新規カスタムコードを追加することができます。ただし、代わりに以下のコード・スニペットを使用します:

function wpb_time_limited_admin_notice() {
    $user_id = get_current_user_id();
    $notice_key = 'wpb_notice_timestamp';

    // Get the existing timestamp or set a new one if it doesn't exist
    $timestamp = get_user_meta( $user_id, $notice_key, true );
    if ( ! $timestamp ) {
        $timestamp = time();
        update_user_meta( $user_id, $notice_key, $timestamp );
    }

    // Check if 2 hours (7200 seconds) have passed since the timestamp
    if ( ( time() - $timestamp ) < 7200 ) {
        // Display the admin notice
        echo '<div class="notice notice-warning is-dismissible">
            <p>Important! We will not be publishing any new articles during the holidays. Please save your articles as drafts for the time being.</p>
        </div>';
    }
}

add_action( 'admin_notices', 'wpb_time_limited_admin_notice' );

このコードは基本的に、ユーザーが最初に通知を見たときにタイムスタンプを作成し、その最初のタイムスタンプから2時間通知を表示します。

また、通知を一度だけ表示させ、ユーザーが管理エリアの別のページに移動したときに消えるようにすることもできます。

注目すべきは、時間の部分を秒単位でカスタマイズでき、必要に応じて長くしたり短くしたりできることだ。例えば、通知を1時間表示させたい場合、7200を3600に変更します。7日間なら604800秒、といった具合だ。

ユーザー権限グループに基づくカスタマイザー通知の表示

特定のユーザー権限グループにのみ表示されるカスタマイザーを作成したい場合、WPCodeでそれを行うこともできます。

以下にコード例を示す:

function wpb_admin_notice_editor() {
    // Get the current admin page
    global $pagenow;
    // Specify the admin pages where the notice should appear
	$admin_pages = [ 'index.php' ];
	// Get the current user
	$user = wp_get_current_user();
    // Check if the current page is in the specified admin pages and the user has the 'editor' role
    if ( in_array( $pagenow, $admin_pages ) && in_array( 'editor', (array) $user->roles ) ) {
		// Display a warning notice for editors
		echo
		'<div class="notice notice-warning is-dismissible">
			<p>Reminder! Do not save published posts as drafts after you update them. Just click the Update button without changing to the draft status. Thanks.</p>
		</div>';
	}
}
// Hook the function to display the notice in the admin area
add_action( 'admin_notices', 'wpb_admin_notice_editor' );

このWordPressコードエディターは、エディター権限を持つユーザーに対して管理エリアに警告を表示する関数wpb_admin_notice_editor()を定義しています。

このコードでは、まずグローバル $pagenow; を使って表示中の管理ページを取得します。配列$admin_pagesを使って、ダッシュボード (index.php) のような特定の wp-admin ページに通知を表示するように指定します。

管理エリアの他のページにも表示させたい場合は、プラグインの場合はplugins.php、投稿とページの場合はedit.phpのように、ページのスラッグを追加するだけです。

スラッグをカンマと個別引用符で区切り、$admin_pages = [ 'index.php' , 'plugins.php', 'edit.php' ]; のようにします。

その後、コードは現在ログイン中のユーザーに関する情報を$user = wp_get_current_user();で収集します。

このコードでは、現在のページが指定した管理ページの中にあるかどうか、そしてユーザーが ‘エディター‘ 権限を持っているかどうかをチェックします。{.

両方の条件が満たされた場合、警告の表示に進む。

上のコードを使ったカスタム管理画面はこんな感じです:

Personalized custom admin notice example made with WPCode

パーソナライズされたカスタム管理通知を作成するには、WordPressコーディングの知識が必要です。このトピックに飛び込むことに興味がある場合は、これらのガイドを読むことをお勧めします:

WordPress管理エリアのカスタマイズのコツ

ダッシュボードに独自のカスタム管理通知を追加する以外にも、WordPress管理エリアをパーソナライズしてワークフローやユーザー体験を向上させる方法はたくさんあります。

例えば、WordPressの管理ダッシュボードにダークモードを追加することができます。こうすれば、長時間の編集作業でも目が疲れにくくなる。

さらに、WordPressエクスペリエンスをパーソナライズし、ブランドアイデンティティを強化するために、カスタムダッシュボードのロゴを追加することができます。

WordPressの管理エリアから不要なメニュー項目を非表示にしたい場合もあるでしょう。これは、特定のユーザー権限グループにアクセス制限がある場合や、単にすっきりとしたインターフェースにしたい場合に便利です。

管理エリアを改善するためにできる他の方法を紹介します:

この投稿が、WordPressでカスタマイザー通知を追加する方法を学ぶのにお役に立てば幸いです。また、WordPress のバージョンを確認する方法や、WordPress のエキスパートが選ぶサイトを成長させる最高のプラグインもご覧ください。

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

情報開示 私たちのコンテンツは読者支援型です。これは、あなたが私たちのリンクの一部をクリックした場合、私たちはコミッションを得ることができることを意味します。 WPBeginnerの資金源 をご覧ください。3$編集プロセスをご覧ください。

アバター

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

究極のWordPressツールキット

ツールキットへの無料アクセス - すべてのプロフェッショナルが持つべきWordPress関連製品とリソースのコレクション!

Reader Interactions

9件のコメント返信を残す

  1. Ali Vanaei

    Hello
    Many thanks for your good article
    How can we display this message only once and dont display it after reloading?

    • WPBeginner Support

      We will look into if there is a way we would recommend to add that functionality in the future.

      管理者

  2. Moinuddin Waheed

    This is very effective way to communicate important messages and notices to users with different roles.
    for a website that has many user roles to perform different tasks, it is very prudent to make updates directly inside the dashboard.
    Messages sent to emails or other platforms may get ignored but if one is assigned to carry out tasks is dashboard as an author, contributor or editor or some other role then they will definitely get timely reminder inside the dashboard.

  3. Muhammad Hammad

    In both the methods defined above, the use of a plugin is essential. Is there a way to use the same code given in the second method directly without the WPcode plugin? Please advise.

    • WPBeginner Support

      If you did not want to use the plugin you could look to add the code to your functions.php but we would recommend using WPCode to add snippets for safety.

      管理者

  4. mohadese esmaeeli

    Hello, this method is excellent! For instance, an admin can post notes and announcements for all team members in various sections without installing any plugins! Overall, it’s a very practical and effective solution for communication, interaction with team members, and establishing policies.

  5. Iwan Wilaga

    Great article in 2022 as well.. Thanks!
    For those who further want to stylize these admin notices, don’t forget that you need to target the admin page’s own html head element. The proper hook name for that is: ‘admin_head’ . There you can echo your style-s.

  6. Marc-Antoine Minville

    Hey, many thanks for your article about Admin Notices, this is really appreciated!

  7. ASHIS MOOKHERJI

    My one posting had been fixed on selected condition with a video from 23rd Sept 2016. Neither it is being possible to edit nor delete.

    Please hepp me to delete that posting.

    With thanks,
    Aegis Mookherji

返信を残す

コメントありがとうございます。すべてのコメントは私たちのコメントポリシーに従ってモデレートされ、あなたのメールアドレスが公開されることはありませんのでご留意ください。名前欄にキーワードを使用しないでください。個人的で有意義な会話をしましょう。