概要
WordPressのフィルタelementor/frontend/admin_bar/settings
は、Elementorがフロントエンドで管理バーの設定を変更する際に使用されます。このフィルタを使用することで、管理バーに表示する項目を追加、削除、またはカスタマイズすることが可能です。このフィルタは、特に次のような機能実装時によく利用されます:
- 管理バーにカスタムリンクを追加
- 特定のユーザーのみに項目を表示
- 管理バーのデザインを変更
- 不要な項目を非表示
- 言語や文化に応じたカスタマイズ
- プラグインとの連携に基づく設定変更
構文
add_filter('elementor/frontend/admin_bar/settings', 'your_callback_function');
パラメータ
$settings
: 管理バーの設定を含む配列
戻り値
- 修正された管理バーの設定を含む配列
使用可能なバージョン
- Elementor: 2.0以降
- WordPress: 4.9以降
サンプルコード
サンプルコード1: カスタムリンクを追加
add_filter('elementor/frontend/admin_bar/settings', function($settings) {
$settings['custom_link'] = '<a href="https://example.com">My Custom Link</a>';
return $settings;
});
このコードは管理バーに「My Custom Link」というカスタムリンクを追加します。
サンプルコード2: 特定のユーザーにのみ表示
add_filter('elementor/frontend/admin_bar/settings', function($settings) {
if (!current_user_can('administrator')) {
unset($settings['custom_link']);
}
return $settings;
});
このコードは、管理者ユーザーにのみカスタムリンクを表示するように設定しています。
サンプルコード3: 不要な項目を非表示
add_filter('elementor/frontend/admin_bar/settings', function($settings) {
unset($settings['other_item']);
return $settings;
});
このコードは管理バーから「other_item」という項目を削除します。
サンプルコード4: 言語に応じたカスタマイズ
add_filter('elementor/frontend/admin_bar/settings', function($settings) {
if (get_locale() === 'ja') {
$settings['welcome'] = 'ようこそ';
}
return $settings;
});
このコードは、日本語のユーザーに「ようこそ」と表示されるように管理バーをカスタマイズします。
サンプルコード5: プラグインの連携
add_filter('elementor/frontend/admin_bar/settings', function($settings) {
if (class_exists('Your_Plugin_Class')) {
$settings['your_plugin_item'] = '<a href="' . admin_url('admin.php?page=your-plugin') . '">Your Plugin</a>';
}
return $settings;
});
このコードは、特定のプラグインが存在する場合に、管理バーにそのプラグインのリンクを追加します。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |