クライアントのために WordPress サイトを構築する際、ダッシュボードにカスタムウィジェットを追加することがよくあります。これは、ユーザーがログインする場所に役立つメモ、リンク、または指示を簡単に表示する方法です。
デフォルトのダッシュボードには、実際には必要とされる情報が常に表示されるわけではありません。そのため、管理画面をより便利でパーソナルなものにするために、カスタマイズするのが好きです。
ようこそメッセージを表示したり、サポート連絡先情報を表示したり、簡単なチュートリアルを含めたりしたい場合があります。理由が何であれ、方法を知っていれば簡単です。
このガイドでは、コードまたはプラグインのいずれかを使用して、WordPress にカスタムダッシュボードウィジェットを追加する方法を説明します。

クイックアンサー:WordPressにカスタムダッシュボードウィジェットを追加する方法
wp_add_dashboard_widget()関数をWPCode(コードメソッド)で使用するか、無料のUltimate Dashboardプラグイン(ノーコードメソッド)をインストールします。どちらの方法でも、WordPress管理ダッシュボードにカスタムメッセージ、リンク、またはコンテンツを直接追加できます。
このガイドでカバーするトピックの簡単な概要を以下に示します。
WordPress 管理ダッシュボードウィジェットとは?
ダッシュボードウィジェットは、WordPressサイトにログインしたときに表示される小さなボックスです。ウェブサイトに関する簡単な情報、役立つリンク、最新情報が表示されます。
デフォルトでは、WordPressには「概要」、「アクティビティ」、「サイトヘルス」、「クイックドラフト」などのウィジェットが用意されています。しかし、ニーズに合わせてカスタムコンテンツを含む独自のウィジェットを追加することもできます。

クイックヒント: サイト上の各ユーザーは、表示したいウィジェットを選択できます。ワークフローに合わせて、表示、非表示、または並べ替えを行うことができます。
ダッシュボードウィジェットが役立つ理由:
- ログインした瞬間に役立つデータが表示されます。
- メニューを掘り下げることなく、ツールやコンテンツにすばやくアクセスできます。
- カスタムウィジェットを使用すると、ダッシュボードを特定のニーズに合わせてパーソナライズできます。
見つけ方:
これらのウィジェットは、WordPress管理エリア内のメインダッシュボード画面に表示されます。ドラッグアンドドロップで移動したり、上部にある画面オプションタブを使用して非表示にしたりできます。

WordPressでカスタム管理ウィジェットを使用する方法と理由
カスタムダッシュボードウィジェットを使用すると、WordPress管理エリアをパーソナライズできます。これは、チームメンバーに役立つ情報を表示したり、クライアントにサイトを案内したりするのに役立ちます。
- パーソナライゼーション:主要な統計情報、ウェルカムメッセージ、または重要なツールへのクイックリンクを表示します。
- 開発者向け:アップデートやバックアップなどの一般的なタスクへのショートカットでクライアントをガイドします。
当社のサイトでの利用方法:
私たちは一連の必須のWordPressプラグインに依存しており、それらの多くにはダッシュボードウィジェットが組み込まれています。
よく使用するものの一つに、All in One SEOの概要ウィジェットがあります。コンテンツのTruSEOスコアを表示し、改善するための直接リンクを提供します。

また、MonsterInsightsウィジェットも使用しています。これにより、ダッシュボードから直接、ウェブサイトのトラフィックとパフォーマンスを簡単に確認できます。
また、柔軟性もあります。誰が使用しているかによって、表示するデータを選択できます。

各チームメンバーはニーズが異なるため、ウィジェットを表示または非表示にし、ダッシュボードを好きなように並べ替えることができます。これは生産性に大きな違いをもたらす小さな機能です。
カスタムWordPress管理ウィジェットの作成方法
カスタムWordPressダッシュボードウィジェットを作成するには、主に2つの方法があります。決定に役立つ簡単な比較を以下に示します。
| 方法1:カスタムコード(WPCode) | 方法2:プラグイン(Ultimate Dashboard) | |
|---|---|---|
| スキルレベル | PHPの知識が多少必要 | コーディング不要 |
| 柔軟性 | PHP/HTML/JSを完全に制御可能 | アイコン、テキスト、HTMLウィジェット |
| 最適 | すべてのユーザー | 初心者および非技術ユーザー |
| 費用 | WPCode Liteは無料です | Ultimate Dashboardの無料バージョンが利用可能です |
使用したい方法にジャンプするには、以下のクイックリンクを使用できます:
方法1:カスタムコードを使用してダッシュボードウィジェットを作成する(よりカスタマイズ可能)
この方法では、ダッシュボードウィジェットを作成するためにWordPressサイトにカスタムコードを追加する必要があります。WordPressプログラミングの基本的な理解が必要です。したがって、コードを記述したくない場合は、次の方法にスキップできます。
この方法を最初に紹介するのは、より柔軟性があり、カスタムウィジェット内で実行したいコードを追加する余地があるためです。
必要なコードを示します。その後、PHP、HTML、またはJSを使用してコードを追加するようにカスタマイズできます。
WordPressサイトにカスタムコードを追加するとなると、多くのユーザーはテーマのfunctions.phpファイルを思い浮かべます。この方法は機能しますが、カスタムコードスニペットを処理するには、WPCodeを使用した方が、より安全で優れた方法であると私たちは考えています。

functions.phpファイルを編集すると、コードに間違いがあった場合にサイトがクラッシュすることがあります。さらに、変更をバックアップせずにテーマを切り替えたり更新したりすると、カスタムコードが失われます。
一方、WPCodeは、サイトをクラッシュさせることなくカスタムコードを安全に追加できます。また、コードスニペットの管理や、必要に応じたオン/オフの切り替えも簡単です。
注意: WPCode Liteという無料バージョンも利用可能で、このチュートリアルで使用できます。ただし、より多くの機能をアンロックするには、有料プランへのアップグレードをお勧めします。
まず、WPCodeプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストールに関する記事をご覧ください。
有効化したら、Code Snippets » +Add Snippet ページに移動し、「Add Your Custom Code (New Snippet)」を選択して新しいスニペットを作成する必要があります。

次の画面で、カスタムコードの名前を入力し、「コードタイプ」として「PHPスニペット」を選択する必要があります。
その後、次のコードをコードプレビューボックスに追加します。
//hooks up your code to dashboard setup
add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
function my_custom_dashboard_widgets() {
global $wp_meta_boxes;
// Register your custom WordPress admin dashboard widget
wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help');
}
function custom_dashboard_help() {
// Replace this with any code you want to show in your custom admin widget
echo '<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:yourusername@gmail.com">here</a>. For WordPress Tutorials visit: <a href="https://www.wpbeginner.com" target="_blank">WPBeginner</a></p>';
}
WPCodeインターフェースでは、次のようになります。

コードに関する簡単な説明です。
my_custom_dashboard_widgets()関数は、wp_add_dashboard_widget()関数を使用してカスタムウィジェットを登録します。この関数は3つの引数を取ります。最初の引数はカスタムウィジェットのID、2番目の引数はウィジェットのタイトル、3番目の引数はコールバック関数です。
custom_dashboard_help()は私たちのコールバック関数であり、その内部にはウィジェットが表示されたときに表示したいHTMLコードを追加しました。
add_actionを使用して、my_custom_dashboard_widgets関数をwp_dashboard_setupフックに接続しました。このフックは基本的に、ダッシュボードページを表示用にセットアップします。
カスタムコードを追加した後、「Insertion」セクションまでスクロールダウンし、Locationドロップダウンから「Admin Only」を選択する必要があります。

最後に、「スニペットを保存」ボタンをクリックし、ステータスオプションを「アクティブ」に切り替えます。
これで完了です。ダッシュボードページにアクセスすると、カスタムWordPress管理ダッシュボードウィジェットが機能しているのが確認できます。

方法2:プラグインを使用してカスタムダッシュボードウィジェットを作成する(より簡単)
この方法はより簡単ですが、カスタムコードの追加よりも柔軟性が少し劣るため、2番目の方法として配置しました。
この方法では、Ultimate Dashboardプラグインを使用します。これは最高のWordPress管理ダッシュボードプラグインの1つであり、カスタム管理ウィジェットを簡単に作成するのに役立ちます。
詳細については、完全なUltimate Dashboardレビューをご覧ください。
まず、Ultimate Dashboardプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストールに関する記事をご覧ください。
有効化後、Ultimate Dashboard » Add Newページにアクセスする必要があります。まず、ウィジェットのタイトルを提供し、次にウィジェットタイプを選択する必要があります。

作成できるウィジェットは3種類あります。
- アイコンウィジェット – 大きなアイコンを表示し、サイトの任意のページにリンクします。
- テキストウィジェット – テキストに簡単な書式設定オプションを追加できるビジュアルエディターを使用します。
- HTMLウィジェット – カスタムウィジェットにHTMLコードを追加します。
それぞれ見ていきましょう。
1. カスタムアイコンウィジェットを作成する
「ウィジェットタイプ」として「アイコンウィジェット」を選択し、表示したいアイコンを選択します。デフォルトでは、選択できるアイコンの数が限られています。

以下に、「ツールチップ」の下にテキストを追加して、ユーザーがアイコンをクリックすると何が起こるかを説明できます。たとえば、「WordPress設定ページに移動します。」
その後、アイコンをクリックしたときにユーザーを送信したいリンクを追加します。

最後に、「公開」をクリックして変更を保存し、ダッシュボードにアクセスしてウィジェットが機能していることを確認してください。
このようになります。

2. カスタムテキストウィジェットの作成
まだそこにいない場合は、Ultimate Dashboard » Add Newページに移動してください。ウィジェットタイプとして「Text Widget」を選択します。
このプラグインは、ビジュアルテキストエディター(古いクラシックエディターと同じ)を表示し、基本的なHTMLフォーマットで表示したいテキストを追加できます。

完了したら、「公開」をクリックして変更を保存します。
このカスタム管理ウィジェットがどのように機能するかを確認するために、管理ダッシュボードにアクセスできるようになりました。

3. カスタムHTMLウィジェットの作成
まだそこにいない場合は、Ultimate Dashboard » Add Newページに移動する必要があります。ウィジェットタイプとして「HTML Widget」を選択します。
プラグインは、インラインCSSを使用して任意のHTMLコードを追加できるHTMLエディターを表示します。

完了したら、「公開」をクリックして変更を保存します。
このカスタム管理ウィジェットがどのように機能するかを確認するために、管理ダッシュボードにアクセスできるようになりました。

Ultimate Dashboard を使用すると、必要なだけカスタムウィジェットを作成し、さまざまなウィジェットタイプを組み合わせて、役立つ管理ダッシュボードエクスペリエンスを作成できます。
よくある質問
特定のユーザーロールにのみカスタムダッシュボードウィジェットを表示できますか?
はい。wp_add_dashboard_widget() の呼び出しを current_user_can() チェックで囲んでください。例えば、管理者のみにウィジェットを表示するには current_user_can('manage_options') を使用します。Ultimate Dashboard プラグインには、ロールベースの表示機能も組み込まれています。
デフォルトの WordPress ダッシュボードウィジェットを削除するにはどうすればよいですか?
wp_dashboard_setup フック内で remove_meta_box() を使用します。例えば、remove_meta_box('dashboard_quick_press', 'dashboard', 'side') はクイックドラフトウィジェットを削除します。各デフォルトウィジェットには、WordPress 開発者ドキュメントで見つけられる一意の ID があります。
複数のカスタムダッシュボードウィジェットを一度に追加できますか?
はい。wp_dashboard_setup 関数内で wp_add_dashboard_widget() をウィジェットごとに複数回呼び出します。各ウィジェットには、一意の ID、タイトル、および独自のコールバック関数が必要です。その後、ユーザーは画面オプションを使用して表示、非表示、または並べ替えを行うことができます。
カスタムダッシュボードウィジェットは WordPress サイトの速度を低下させますか?
いいえ — ダッシュボードウィジェットは管理ダッシュボードページでのみ読み込まれ、フロントエンドの速度には影響しません。ウィジェットがデータベースまたは API を呼び出す場合は、ログイン中のユーザーの管理エリアの速度低下を避けるために、軽量に保ってください。
カスタムダッシュボードウィジェット内に画像や動画を追加するにはどうすればよいですか?
コールバック関数で、標準の HTML を echo します。画像には、完全な URL を持つ <img> タグを使用します。動画の場合は、YouTube または Vimeo の <iframe> を埋め込みます。ウィジェットは出力された HTML をレンダリングするため、標準のメディア埋め込みは完全に機能します。
WordPress管理エクスペリエンスを次のレベルへ
WordPress の管理画面は、ほとんどのウェブサイト所有者がコンテンツの作成、ページの作成、注文の管理などに多くの時間を費やす場所です。
WordPress 管理ダッシュボードの最適化に関する追加リソースを以下に示します。
- WordPress管理ダッシュボードをカスタマイズする方法
- WordPress管理画面のホワイトラベル化方法
- WordPressで自動ワークフローを作成する方法
- WordPress管理エリアを改善するためのプラグインとヒント
この記事がWordPress管理エリアにカスタムダッシュボードウィジェットを追加するのに役立ったことを願っています。また、WordPressセキュリティガイドを確認したり、管理エリアから不要なメニュー項目を非表示にするチュートリアルをご覧になることもお勧めします。
この記事が気に入った場合は、WordPressのビデオチュートリアルのために、YouTubeチャンネルを購読してください。また、TwitterやFacebookでも私たちを見つけることができます。

ブランダン
とても役に立ちました。ありがとうございます。
WPBeginnerサポート
お役に立てて嬉しいです!
管理者
Jef Vermeire
WordPressダッシュボードに同じ種類のウィジェットを複数追加できますか?例えば、カスタム「カスタムヘルプウィジェット」をダッシュボードに2回追加できますか?
WPBeginnerサポート
必要であれば追加できます。ダッシュボードウィジェットを2回追加したい場合は、wp_add_dashboard_widget を追加する行を増やすことになります
管理者
グザビエ・バルボ
非常に役立ちます、ありがとうございます。すべてのプラグインを試しましたが、クライアントのためにシンプルなウィジェットを追加できるものはありませんでした。非常に洗練されており、カスタムプラグインを作成することで簡単に再現できます。5つ星です!
WPBeginnerサポート
私たちの推薦がお役に立てて嬉しいです
管理者
Syed Ali Ahmed
これを共有してくれてありがとう。これはあまりにも素晴らしいです、大好きです。
WPBeginnerサポート
当社のガイドがお役に立てて嬉しいです
管理者
マイク
HTML または CSS を使用して、カスタム属性でウィジェットをスタイル設定することは可能ですか?
WPBeginnerサポート
それは可能ですが、私たちの記事で扱っている範囲を少し超えています。
管理者
daan van middendorp
カスタムロールで使用するにはどうすればよいですか?
WPBeginnerサポート
カスタムロールでダッシュボードウィジェットが表示できる場合、カスタムウィジェットも表示できるはずです。
管理者
haqem
このカスタムウィジェットを「新規投稿を追加」エリアに配置して書き込む方法
Ron Sierra
一度質問されましたが、返信や回答が見つかりませんでした。複数のダッシュボードウィジェットを作成するにはどうすればよいですか?
ビョルネン
このウィジェットにwp_mail関数を追加するにはどうすればよいですか?
つまり、そのウィジェットで顧客に連絡フォームを提供するにはどうすればよいですか?
Vishah
ボタンを追加するにはどうすればよいですか?
ウェイド
コードを使用しましたが、ホワイトスクリーンの死が発生しました。WP 4.7.2
何かアイデアはありますか?
WPBeginnerサポート
ウェイドさん、
FTPを使用してコードを削除できます。また、WordPressでホワイトスクリーンの死を修正する方法に関するガイドも参照してください。
管理者
gobinda das
Flowtownテーマのヘッダーを別のものに変更できますか?
ハビエル
こんにちは、ユーザーごとにカスタムウィジェットを作成しようとしています。各ユーザーは、異なるテキストを含むウィジェットを持つ必要があります。
これを実現する方法はありますか?
David Guerreiro
それはとても簡単です!PHPを使用して、メタボックスコンテンツの表示に使用している関数で現在のユーザーを取得し、取得したユーザーに応じてHTMLを変更します。これを見てみてください:
ライ・ディン・キュオン
こんにちは、Syed Balkhiさん、注文で新しい管理者ウィジェットを追加するにはどうすればよいですか?
shakun
ダッシュボードに複数のウィジェットを追加する方法
ニシャント
お問い合わせフォームのショートコードで do_shortcode() を挿入して、ユーザーがバグを報告したりフィードバックを提供したりするためのクイックアクセスを提供しようとしましたが、うまくいきませんでした… CF 7 をこれと連携させる方法について何かアイデアはありますか?
ありがとう
ダスティン
これは知っておくと便利でしょう。私もダッシュボードウィジェットでショートコードを使用しようとしています。
マイク
これは 3.5 では機能しません。これを機能させるためのアップデートはありますか?よろしくお願いします!
smayzes
OOPを使用してこれを行うことは可能ですか?
例:
クラス内:
wp_add_dashboard_widget(‘custom_help_widget’, ‘ヘルプとサポート’, array($this, ‘customDashboardHelp’));
function customDashboardHelp() {
echo ‘<p>カスタムCMSへようこそ!’;
}
Nick Powers
メッセージはかなり古いことは承知していますが、他の人がここに来て同じ質問をする人のために。はい、あなたが示唆したように、それはOOPでも機能します。
luxsub
マルチユーザーサイトのダッシュボードにAdSense付きウィジェットを配置することは可能ですか?
y3kgeek
素晴らしいアイデアです。特定のユーザーロール(例えば、寄稿ライター)を持つユーザーのみが表示できるカスタムダッシュボードウィジェットを作成したい場合はどうすればよいですか?
編集スタッフ
user_can または user roles の条件分岐を使用してこれを行うことができます。
管理者
DramaKing
3年経ちましたが、他の人が(私のように)答えを探しに来た場合のために、私がやった方法を説明します。コーディングについてはあまり知らないので、きれいではないかもしれませんが、これが機能させるために私が管理した方法です。
add_action(‘wp_dashboard_setup’, ‘dashboard_widget_mail’);
function dashboard_widget_mail() { global $wp_meta_boxes;
if ( current_user_can( ‘delete_users’ ) ) {
wp_add_dashboard_widget(‘custom_mail_widget’, ‘ウィジェット名をダッシュボードに表示’, ‘custom_dashboard_mail’);
} return true;
}
function custom_dashboard_mail() {
echo ‘ここにカスタムテキストを入力してください。’;
}
—
もちろん、「delete_users」を好きな機能に置き換えることができます。
マーティン
これ、ありがとうございます!うまく機能します。
簡単な質問ですが:
functions.phpにカスタムウィジェットを2つ以上追加したい場合、「action」と「function」の名前を変更する必要がありますか?
編集スタッフ
はい、2つの別々の関数とアクションを追加する必要があります…
管理者
ACS04
良さそうですが、ウィジェットがテーマに依存しないように、簡単なプラグインを作成した方が良いのではないでしょうか?どう思いますか?
編集スタッフ
まあ、できますが、私たちの場合はクライアントに知っておいてほしいサポート情報が含まれています。これは主にカスタムテーマデザイン用なので、テーマがアクティブな場合にのみ役立ちます。
管理者
Frankie Jarrett
簡単な例をありがとうございます。ほんの数秒で何かを稼働させることができました
ステファン
すごい!そのトリックは初めて聞きました…とても良いですね、ありがとう!
ダニエル
おまじないのように機能しました。すべてのダッシュボードメニューをロックしたメンバーシップサイトの回避策としてこれを使用します。これにより、メンバーは適切な投稿編集リンクに再び誘導されます。
リチャード
2つのウィジェットを作成する際に、上下ではなく横並びにするにはどうすればよいですか?
編集スタッフ
リチャードさん、WordPress Codex Dashboard API のコードを使用して、ウィジェットを一番上に表示させることができます。クライアントのために手動で保存しない限り、それらを横に並べて表示する方法はわかりません。ジェイクにメールで尋ねてみるのが良いかもしれません。
ただし、functions.php で設定した設定は、ユーザーが以前に設定を変更している場合、通常のΡ設定を上書きしないことに注意してください。これは、ユーザーがダッシュボードを一度も整理したことがない場合にのみ機能します。
管理者
Ash Blue
最も外側の要素にdisplay:blockを使用し、float:leftにし、幅を設定してください。ただし、それが壊れる可能性があります。これはギャラリーレイアウトに非常に似ています。これは推奨されず、WordPressがウィジェットを使用するように設計された方法では必ずしもありません(自己責任で使用してください)。
デイビッド
wpmu。 /wp-includes/functions.php を見つけましたが、コードはどこに挿入すればよいですか? ご協力ありがとうございます。
編集スタッフ
これはテーマの functions.php ファイルに含めるもので、コアファイルではありません。
管理者
cho
テーマの functions.php とはどういう意味ですか?
そのようなファイルは見つかりません
編集スタッフ
テーマのフォルダーに functions.php ファイルがあります。
Ash Blue
興味深いですね。私は下の行でそれらすべてを行いました。どちらかが優れているのか、それとも両方とも同じくらい良いのか?
if ( function_exists('register_sidebar') ) {
register_sidebar(array(
'name'=>'お問い合わせ',
));
}
編集スタッフ
あなたのコードはサイドバーウィジェットを登録するためのものです。この記事で共有しているコードは、カスタムダッシュボードウィジェットを追加するためのものです。wp-adminにログインすると、投稿統計などの情報が表示されます。このボックスがそこに追加されます。
全く異なる2つのトピックです。
管理者
Vivek @ InfoEduTech
チュートリアルをありがとうございます。
どうか気分を悪くしないでください。記事を投稿する際は、必ず適切なスクリーンショットを添付してください。そうすれば、初心者でも分かりやすくなります。
ジム
これは素晴らしいです、共有してくれてありがとう。