概要
elementor/icons_manager/migration_allowed フィルタは、Elementorがアイコンのマイグレーションに関する許可設定を行う際に使用されます。このフィルタを利用することで、アイコンのマイグレーションが許可されるかどうかを制御することができます。これにより、特定の条件下でアイコンのマイグレーションを禁止したり、カスタマイズしたりすることが可能となります。
よく使われる機能
- 特定の条件(例: 管理者のみ)においてアイコンのマイグレーションを許可する。
- サイトの特定の設定に基づいてアイコンの管理を最適化する。
- 他のプラグインとの互換性を確保するためにマイグレーションをカスタマイズする。
- マイグレーションプロセス中のエラーハンドリングを実装する。
- ユーザーのロールに基づいてマイグレーションの設定を制御する。
- バージョンアップによるマイグレーションの挙動を変更する。
フィルタの構文
add_filter( 'elementor/icons_manager/migration_allowed', 'your_function_name' );
パラメータ
$allowed(bool): 現在のマイグレーション許可状態。デフォルトはtrue。
戻り値
- bool: マイグレーションが許可される場合は
true、禁止される場合はfalse。
使用可能なバージョン
- Elementorバージョン: 3.0.0以降
- WordPressバージョン: 5.0以降
この関数のアクションでの使用可能性
| アクション | 使用例 |
|---|---|
| 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 |
サンプルコード
サンプル1
function allow_icon_migration( $allowed ) {
// 管理者のみマイグレーションを許可
return current_user_can( 'administrator' );
}
add_filter( 'elementor/icons_manager/migration_allowed', 'allow_icon_migration' );
このサンプルコードは、サイトにアクセスしているユーザーが管理者である場合のみアイコンのマイグレーションを許可します。
サンプル2
function deny_icon_migration( $allowed ) {
// マイグレーションを常に禁止
return false;
}
add_filter( 'elementor/icons_manager/migration_allowed', 'deny_icon_migration' );
このサンプルでは、常にアイコンのマイグレーションを禁止します。この設定は、特定の状況下でマイグレーションを防ぐのに役立ちます。
サンプル3
function conditional_migration( $allowed ) {
// 特定のオプションをチェックし、アイコンマイグレーションを許可
if ( get_option( 'allow_icon_migration' ) ) {
return true;
}
return false;
}
add_filter( 'elementor/icons_manager/migration_allowed', 'conditional_migration' );
このサンプルは、WordPressのオプションから特定の設定を確認し、それに基づいてマイグレーションを許可します。
サンプル4
function based_on_environment( $allowed ) {
// ステージング環境の場合はマイグレーションを許可しない
if ( defined( 'WP_STAGING' ) && WP_STAGING ) {
return false;
}
return true;
}
add_filter( 'elementor/icons_manager/migration_allowed', 'based_on_environment' );
このサンプルでは、ステージング環境である場合にはアイコンのマイグレーションを禁止します。これにより、本番環境でのリスクを軽減します。
サンプル5
function user_role_based_migration( $allowed ) {
// "editor"のロールを持つユーザーに対してマイグレーションを許可
return current_user_can( 'editor' );
}
add_filter( 'elementor/icons_manager/migration_allowed', 'user_role_based_migration' );
このサンプルでは、「エディター」ロールを持つユーザーにのみアイコンのマイグレーションを許可します。このようにして、特定のロールに基づく細かい権限の管理ができます。