「WordPress 3分間フッキング」は、WordPressのフック(アクション・フィルター)を活用して、プラグインをインストールせずに簡単にサイトをカスタマイズする方法をわかりやすく解説するシリーズです。あの料理番組「3分間クッキング」のように、短時間で実用的なテクニックをマスターしていきましょう!
管理画面でバージョン情報をすぐに確認できる便利機能
WordPressサイトを管理・運営していると、現在動作しているPHPバージョンやWordPressのバージョンを確認する場面が多々あります。特に複数のサイトを管理している場合や、サーバー移行、アップデート作業の際には必須の情報です。
通常、これらの情報を確認するには「ダッシュボード」→「サイトヘルス」と進んで確認するか、「ツール」→「サイトヘルス」→「情報」から確認する必要がありますが、毎回これらのページに移動するのは少々手間がかかります。
今回は admin_footer_text
フィルターフックを使って、管理画面のフッターに現在のPHPバージョンやWordPressバージョンを小さく表示する方法をご紹介します!サイト管理者にとって、環境情報をすぐに確認できるちょっとした便利機能です。

フィルターフックを使ってフッターテキストをカスタマイズ
今回使用するのは admin_footer_text
というフィルターフックです。このフックは管理画面のフッターに表示されるテキストをカスタマイズするためのものです。標準では「Thank you for creating with WordPress.」というメッセージが表示されています。
WordPressのフィルターフックは、特定のデータを「フィルタリング(加工)」して返すためのフックです。今回はフッターテキストをフィルタリングして、バージョン情報を追加します。
では、具体的なコードを見ていきましょう!
コードの実装
以下のコードを functions.php
に追加します:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
// 管理画面フッターにPHPとWordPressのバージョン情報を表示 function wp3min_show_version_in_footer($text) { // 管理者権限を持つユーザーにのみ表示 if (current_user_can('administrator')) { // 現在のPHPバージョン $php_version = phpversion(); // 現在のWordPressバージョン global $wp_version; // 現在のテーマ情報 $theme = wp_get_theme(); $theme_name = $theme->get('Name'); $theme_version = $theme->get('Version'); // MySQLバージョン global $wpdb; $mysql_version = $wpdb->db_version(); // オリジナルのフッターテキストを保持しつつ、バージョン情報を追加 $text .= ' | <span class="version-info" style="font-size: 0.8em; opacity: 0.7;">PHP: ' . $php_version . ' | WP: ' . $wp_version . ' | MySQL: ' . $mysql_version . ' | テーマ: ' . $theme_name . ' ' . $theme_version . '</span>'; } return $text; } add_filter('admin_footer_text', 'wp3min_show_version_in_footer'); |
コードの解説
1. wp3min_show_version_in_footer
関数を定義し、admin_footer_text
フィルターフックに登録しています。
2. current_user_can('administrator')
で、管理者権限を持つユーザーにのみバージョン情報を表示するようにしています。これはセキュリティ上の配慮です。
セキュリティのベストプラクティスとして、administrator
ロールではなく、より具体的な権限である manage_options
を使用する方が推奨されています。つまり current_user_can('manage_options')
と書くことで、特定の権限を持つユーザーのみに情報を表示できます。これにより、カスタムロールを持つユーザーに対しても適切に制御できます。
3. phpversion()
関数で現在のPHPバージョンを取得します。
4. グローバル変数 $wp_version
からWordPressのバージョンを取得します。
5. wp_get_theme()
で現在有効なテーマの情報を取得しています。
6. $wpdb->db_version()
でMySQLのバージョンを取得します。
7. オリジナルのフッターテキストにバージョン情報を追加し、小さいフォントサイズと適度な透明度で控えめに表示するようにCSS(インラインスタイル)を設定しています。
シンプルなコードですが、管理画面のどこからでも環境情報が確認できるようになるため、開発やトラブルシューティング時に非常に便利です。特に複数のWordPressサイトを管理している場合、どの環境で作業しているかを常に把握できるメリットがあります。
カスタマイズポイント
このコードは基本的な実装ですが、さらに発展させることもできます。以下にカスタマイズポイントを紹介します:
1. 表示情報のカスタマイズ
表示する情報を増やしたり、フォーマットを変更したりすることができます:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
// さらに多くの情報を表示する拡張版 function wp3min_show_detailed_version_in_footer($text) { if (current_user_can('administrator')) { // メモリ使用量 $memory_usage = round(memory_get_usage() / 1024 / 1024, 2); // メモリリミット $memory_limit = ini_get('memory_limit'); // 実行時間の制限 $max_execution_time = ini_get('max_execution_time'); // アクティブなプラグイン数 $active_plugins = count(get_option('active_plugins')); $text .= ' | <span class="version-info" style="font-size: 0.8em; opacity: 0.7;">'; $text .= 'PHP: ' . phpversion() . ' | '; $text .= 'WP: ' . $GLOBALS['wp_version'] . ' | '; $text .= 'メモリ: ' . $memory_usage . 'MB/' . $memory_limit . ' | '; $text .= '実行時間: ' . $max_execution_time . '秒 | '; $text .= 'プラグイン: ' . $active_plugins . '個'; $text .= '</span>'; } return $text; } add_filter('admin_footer_text', 'wp3min_show_detailed_version_in_footer'); |
2. クリック可能な詳細情報
クリックすると詳細情報がポップアップ表示される機能を追加することもできます:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
// クリック可能な詳細情報表示 function wp3min_show_clickable_version_in_footer($text) { if (current_user_can('administrator')) { // 基本情報 $php_version = phpversion(); global $wp_version; // JavaScript for modal functionality $text .= ' | <span class="version-info-trigger" style="font-size: 0.8em; opacity: 0.7; cursor: pointer;" onclick="showVersionDetails()">PHP: ' . $php_version . ' | WP: ' . $wp_version . ' (クリックで詳細表示)</span>'; // Hidden modal with details $text .= ' <div id="version-info-modal" style="display:none; position:fixed; bottom:40px; right:20px; background:#fff; padding:20px; border:1px solid #ccd0d4; box-shadow:0 1px 3px rgba(0,0,0,.1); z-index:99999; max-width:500px;"> <h3>システム情報</h3> <p><strong>PHP バージョン:</strong> ' . phpversion() . '</p> <p><strong>WordPress バージョン:</strong> ' . $wp_version . '</p> <p><strong>MySQL バージョン:</strong> ' . $GLOBALS['wpdb']->db_version() . '</p> <p><strong>メモリ使用量:</strong> ' . round(memory_get_usage() / 1024 / 1024, 2) . 'MB / ' . ini_get('memory_limit') . '</p> <p><strong>実行時間制限:</strong> ' . ini_get('max_execution_time') . '秒</p> <p><strong>テーマ:</strong> ' . wp_get_theme()->get('Name') . ' ' . wp_get_theme()->get('Version') . '</p> <p><strong>アクティブなプラグイン数:</strong> ' . count(get_option('active_plugins')) . '個</p> <button onclick="hideVersionDetails()" style="margin-top:10px;">閉じる</button> </div> <script> function showVersionDetails() { document.getElementById("version-info-modal").style.display = "block"; } function hideVersionDetails() { document.getElementById("version-info-modal").style.display = "none"; } </script> '; } return $text; } add_filter('admin_footer_text', 'wp3min_show_clickable_version_in_footer'); |
3. 特定の管理画面ページでのみ表示
特定の管理画面でのみ表示するようにカスタマイズすることもできます:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// 特定の管理画面ページでのみ表示 function wp3min_conditional_show_version_in_footer($text) { // 現在の管理画面のページを取得 $screen = get_current_screen(); // ダッシュボードとプラグイン管理画面でのみ表示 if (current_user_can('administrator') && in_array($screen->id, array('dashboard', 'plugins'))) { $php_version = phpversion(); global $wp_version; $text .= ' | <span class="version-info" style="font-size: 0.8em; opacity: 0.7;">PHP: ' . $php_version . ' | WP: ' . $wp_version . '</span>'; } return $text; } add_filter('admin_footer_text', 'wp3min_conditional_show_version_in_footer'); |
カスタマイズ | メリット | 考慮点 |
---|---|---|
基本実装 | シンプルで導入が容易 必要な情報をすぐに確認可能 |
情報量が限定的 |
詳細情報表示 | より多くの環境情報を表示 トラブルシューティングに有用 |
表示領域が大きくなる |
クリック可能な詳細情報 | 通常は控えめに表示 必要時に詳細表示が可能 |
JavaScriptの追加が必要 |
条件付き表示 | 必要なページでのみ表示 インターフェースがすっきり |
特定ページでしか確認できない |
バージョン情報の表示はセキュリティ面での考慮が必要です。このコードでは管理者権限を持つユーザーにのみ情報を表示していますが、サイトによってはさらに制限を加えることも検討しましょう。
その他の関連するフック
管理画面のカスタマイズに使えるその他のフックもいくつか紹介します:
- admin_footer_text – 管理画面フッターの左側テキストをカスタマイズするフック
- update_footer – 管理画面フッター右側(WordPressバージョン表示部分)をカスタマイズするフック
- admin_notices – 管理画面上部に通知を表示するアクションフック
- admin_bar_menu – 管理バーをカスタマイズするアクションフック
これらを組み合わせることで、管理画面をさらに便利にカスタマイズできます。
FAQ
Q1. なぜバージョン情報を管理画面に表示すると便利なのですか?
A1. 複数のWordPressサイトを管理している場合、異なる環境(PHPバージョンやWordPressバージョン)で動作していることがよくあります。また、プラグイン開発やテーマ開発時には、動作環境を常に把握しておく必要があります。管理画面のどこからでも環境情報を確認できると、問題の切り分けやデバッグが容易になります。
Q2. このコードはセキュリティ上の問題はありませんか?
A2. このコードでは管理者権限を持つユーザーにのみ情報を表示するようにしているため、基本的なセキュリティは確保されています。ただし、サーバーやWordPressのバージョンが古い場合、その情報が外部に漏れると攻撃の標的になりやすくなる可能性もあるため、公開サイトでの使用時には注意が必要です。
Q3. 他の管理者にも情報を表示したくない場合はどうすればよいですか?
A3. 特定のユーザーIDのみに表示を制限することができます:
1 2 3 4 5 |
// 特定のユーザーIDにのみ表示 if (get_current_user_id() === 1) { // ユーザーID=1(通常は最初の管理者)のみに表示 // バージョン情報表示のコード } |
Q4. この情報を管理バーに表示することはできますか?
A4. はい、admin_bar_menu
アクションフックを使用して管理バーにバージョン情報を表示することも可能です:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// 管理バーにバージョン情報を表示 function wp3min_add_version_to_admin_bar($wp_admin_bar) { if (!current_user_can('administrator')) { return; } $php_version = phpversion(); global $wp_version; $wp_admin_bar->add_node(array( 'id' => 'version-info', 'title' => 'PHP: ' . $php_version . ' | WP: ' . $wp_version, 'href' => admin_url('site-health.php'), 'meta' => array( 'title' => 'サイトヘルス情報を表示', ), )); } add_action('admin_bar_menu', 'wp3min_add_version_to_admin_bar', 999); |
まとめ
今回は admin_footer_text
フィルターフックを使って、管理画面のフッターにPHPやWordPressのバージョン情報を表示する方法を解説しました。
このシンプルなカスタマイズは、サイト管理者にとって非常に便利な機能です。特に複数のサイトを管理している方や開発者にとっては、環境情報をすぐに確認できるため作業効率が向上します。また、システムの状態を常に把握できることで、アップデートの必要性やトラブルシューティングの際にも役立ちます。
WordPressのフックシステムは非常に柔軟で強力です。プラグインに頼らずとも、簡単なコードで多くのカスタマイズが可能です。ぜひ今回のテクニックを活用して、あなたの管理画面をより便利にしてみてください!
埼玉県川越市でWordPressサイトの開発や管理を行っています。このような便利なカスタマイズやもっと複雑な機能について相談したい場合は、WordPressカスタマイズ・プラグイン開発サービスをぜひご利用ください:https://edel-hearts.com/wordpress-customize-and-plugin-development/
また、WordPressサイトの運用や管理でお悩みの方は、WordPress顧問エンジニアサービスもご検討ください:https://edel-hearts.com/wordpress-technical-advisor/