概要
elementor/editor/user/restrictions
フィルタは、Elementorプラグイン内でユーザーに対する制限を設定するために使用されます。このフィルタを利用することで、特定のユーザーやロールに対してElementorのエディタ機能を制限したり、特定の機能を無効にすることができます。これは、特に多人数でのサイト運営や、特定の機能へのアクセスを制御したい場合に便利です。よく使われるシナリオとしては以下のようなものがあります。
- 特定のユーザーRoleの編集権限を制限する
- エディタ内で特定のウィジェットを非表示にする
- 特定のユーザーのみがテーマやテンプレートを選択できるようにする
- ページの保存や公開に対する制限を設ける
- デモ用アカウントに対するエディタ機能の制限を行う
- 特定のプラグインとの互換性を考慮し、機能制限を行う
構文
add_filter('elementor/editor/user/restrictions', 'your_function_name');
function your_function_name($restrictions) {
// 制限を追加または変更
return $restrictions;
}
パラメータ
$restrictions
: ユーザーに対する制限が含まれる配列。
戻り値
- ユーザーに適用される制限が含まれた配列。
使用可能プラグインとバージョン
- Elementor: 3.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: 特定のユーザーロールの制約を追加
このサンプルは、特定のユーザーロール(例えば “editor”)に対するElementorエディタのアクセス権を制限するものです。
add_filter('elementor/editor/user/restrictions', function($restrictions) {
$user = wp_get_current_user();
if (in_array('editor', (array) $user->roles)) {
$restrictions['edit'] = false; // 編集を無効化
}
return $restrictions;
});
サンプルコード2: 特定のウィジェットを非表示にする
このコードでは、特定のウィジェットをElementorのエディタから非表示にする方法を示しています。
add_filter('elementor/editor/user/restrictions', function($restrictions) {
$restrictions['widgets'] = ['image' => false]; // 画像ウィジェットを無効化
return $restrictions;
});
サンプルコード3: テンプレート選択の制御
特定のユーザーのみが特定のテンプレートを選択できるように制御します。
add_filter('elementor/editor/user/restrictions', function($restrictions) {
$user = wp_get_current_user();
if (!in_array('administrator', (array) $user->roles)) {
$restrictions['template'] = false; // テンプレート選択を無効化
}
return $restrictions;
});
サンプルコード4: ページの保存を制限
このサンプルは特定のロールのユーザーがページを保存できないようにするものです。
add_filter('elementor/editor/user/restrictions', function($restrictions) {
$user = wp_get_current_user();
if (!in_array('administrator', (array) $user->roles)) {
$restrictions['save'] = false; // 保存を無効化
}
return $restrictions;
});
サンプルコード5: デモアカウントの制限
デモ用アカウントに対する機能制限を行うサンプルです。
add_filter('elementor/editor/user/restrictions', function($restrictions) {
$user = wp_get_current_user();
if ($user->user_login === 'demo_user') {
$restrictions['all'] = false; // 全機能を無効化
}
return $restrictions;
});
各サンプルコードは、特定の条件に基づいてElementorのエディタ機能を制限する方法を示しています。これらのコードをカスタマイズすることで、サイトの特性に応じた柔軟な制御が可能になります。