概要
is_admin関数は、リクエストページが管理者ページかどうかを調べるための関数です。この関数は、WordPressの管理画面の一部であるかどうかを確認するのに非常に便利です。is_admin関数は、プラグインやテーマの開発時に、特定のロジックを管理者ページでのみ実行したい場合に頻繁に使用されます。
以下に、is_admin関数がよく使われる機能の例を8つ挙げます。
1. 管理画面のカスタマイズ
2. 独自の管理ページの追加
3. プラグイン設定ページの実装
4. 特定のスクリプトやスタイルの読み込み
5. 提供する機能を管理者のみに制限
6. 管理者向けの通知の表示
7. プラグインやテーマの動作確認
8. アクセス制限を設ける機能の実装
構文
is_admin();
パラメータ
is_admin関数には、引数はありません。
戻り値
is_admin関数は、管理者ページにいる場合はtrue、そうでない場合はfalseを返します。
関連する関数
使用可能なバージョン
is_admin関数は、WordPress 2.0以降で使用可能です。
コアファイルのパス
この関数は、WordPressのコアファイル /wp-includes/functions.php に含まれています。
サンプルコード
サンプルコード1:管理ページのカスタマイズ
このコードは、管理画面でのみ特定のスタイルを追加します。
function my_admin_styles() {
if (is_admin()) {
wp_enqueue_style('my_admin_style', get_template_directory_uri() . '/admin-style.css');
}
}
add_action('admin_enqueue_scripts', 'my_admin_styles');
サンプルコード2:独自の管理ページの追加
このコードは、管理画面に独自のページを追加します。
function my_custom_menu_page() {
if (is_admin()) {
add_menu_page('My Custom Page', 'Custom Menu', 'manage_options', 'my-custom-page', 'my_custom_page_callback');
}
}
add_action('admin_menu', 'my_custom_menu_page');
function my_custom_page_callback() {
echo '<h1>My Custom Page</h1>';
}
サンプルコード3:特定のスクリプトの読み込み
このコードは、管理画面でのみ特定のスクリプトを読み込みます。
function my_admin_scripts() {
if (is_admin()) {
wp_enqueue_script('my_admin_script', get_template_directory_uri() . '/admin-script.js');
}
}
add_action('admin_enqueue_scripts', 'my_admin_scripts');
サンプルコード4:管理者向けの通知の表示
このコードは、管理画面でメッセージを表示するためのものです。
function my_admin_notice() {
if (is_admin()) {
echo '<div class="notice notice-success"><p>管理者ページにいます!</p></div>';
}
}
add_action('admin_notices', 'my_admin_notice');
サンプルコード5:アクセス制限
このコードは、特定の管理ページへのアクセスを制限します。
function my_restrict_access() {
if (is_admin() && !current_user_can('administrator')) {
wp_die('あなたにはこのページへのアクセス権がありません。');
}
}
add_action('admin_init', 'my_restrict_access');
この関数のアクションでの使用可能性
| アクション | 使用可能性 |
|---|---|
| mu_plugin_loaded | |
| registered_post_type | |
| plugins_loaded | |
| wp_roles_init | |
| setup_theme | |
| after_setup_theme | |
| set_current_user | |
| init | |
| register_sidebar | |
| wp_loaded | |
| send_headers | |
| parse_query | |
| pre_get_posts | |
| wp | |
| template_redirect | |
| get_header | |
| wp_head |
is_admin関数は特定のバージョンで非推奨または削除されていません。