ダッシュボードのカスタマイズ

はじめに

WordPressを使っている皆さん、ダッシュボード…そのまま使っていませんか?
意外と知られていませんが、WordPressのダッシュボードは自由にカスタマイズできるんです。

「一度もいじったことがない」という方、それ…ちょっともったいないかもしれません!

ダッシュボードをカスタマイズすれば、
✅ 必要な情報だけをすぐ確認できる
✅ 作業効率もぐんとアップ
✅ クライアント用に見やすく整えることも可能!

この記事では、WordPressのダッシュボードをもっと便利に活用する方法をわかりやすく紹介します。
ぜひ参考にして、あなただけの“使いやすい管理画面”を作ってみましょう!

編集ファイル

require_once get_stylesheet_directory() . '/inc/custom-dashboard.php';
// ダッシュボード用CSSファイルを読み込む
function load_dashboard_widget_css($hook) {
  // ダッシュボードの管理画面のみで読み込む
  if($hook != 'index.php') {
    return;
  }

  wp_enqueue_style(
    'custom-dashboard-widget-css',
    get_template_directory_uri() . '/assets/css/dashboard.css',
    array(),
    null,
    'all'
  );
}
add_action('admin_enqueue_scripts', 'load_dashboard_widget_css');

function add_custom_widget_for_administrator() {
  // 管理者かどうかチェック
  if(!current_user_can('administrator')) {
    return; // 管理者以外はウィジェットを表示しない
  }
  wp_add_dashboard_widget(
    'administrator_notice',
    '📢 お知らせ',
    'render_custom_widget_for_administrator'
  );
}
add_action('wp_dashboard_setup', 'add_custom_widget_for_administrator');

function render_custom_widget_for_administrator() {
  // タクソノミーを取得
  $categories = get_terms([
    'taxonomy'   => 'news_category',  // タクソノミー名
    'orderby'    => 'name',           // カテゴリ名でソート
    'order'      => 'ASC',            // 昇順
    'hide_empty' => false,            // 投稿がないカテゴリも表示
  ]);
  
  if (!empty($categories) && !is_wp_error($categories)) {
    echo '
    '; foreach ($categories as $category) { $link = admin_url('edit.php?post_type=news&news_category=' . $category->slug); echo '<a href="' . esc_url($link) . '">'; echo '<li>'; echo '<span class="category-name">' . esc_html($category->name) . '</span>'; echo '<span class="category-count">' . intval($category->count) . '件</span>'; echo '</li>'; echo '</a>'; } echo '</ul>'; } else { echo '<p>カテゴリーが見つかりませんでした。</p>'; } }

説明

ダッシュボード用のカスタム関数の外部ファイルを読み込む
function load_dashboard_widget_css($hook) {
ダッシュボード専用のcssを読み込ませます。
function add_custom_widget_for_administrator() {
ダッシュボードのウィジェットを追加する処理を宣言します。
function render_custom_widget_for_administrator() {
上記のウィジェットを追加した第三引数の関数。
この関数内でウィジェットの中身を記載しています。

最後に

今回は、管理者にのみ「お知らせ」の件数をカテゴリごとに表示する機能を追加してみました。
このように、WordPressのダッシュボードには自由にウィジェットを追加することが可能です。

例えば、クライアント向けの操作ガイドやTODOリストなども工夫次第で表示できるので、作業の見える化や管理の効率化に役立ちます。
もちろん管理画面専用の機能なのでフロントサイトには影響しませんが、複数人で運用している場合は「誰が何件投稿したか」なども把握しやすくなります。

ぜひ、皆さんも用途に合わせてダッシュボードを自由にカスタマイズしてみてください!