概要
acf/field_group/disable_field_settings_tabs フィルタは、Advanced Custom Fields (ACF) のフィールド グループ エディターで、フィールド設定タブを無効にするために使用されます。このフィルタを使用することで、特定のフィールドグループの設定タブを非表示にしたり、特定のユーザーに対して表示されないようにすることができます。
よく使われるシーン
- セキュリティ上の理由から特定の設定を隠したい場合
- ユーザーインターフェースをシンプルにするため
- 特定のロールに対して設定オプションを非表示にしたい場合
- テスト環境でのフィールド設定の変更を禁止するため
- プラグインの仕様に基づいて設定を制限する目的
- エディターが誤って設定を変更しないようにするため
構文
add_filter('acf/field_group/disable_field_settings_tabs', 'disable_field_settings_tabs', 10, 2);
パラメータ
bool $disable: フィールド設定タブを無効にするかどうか。array $field_group: フィールドグループに関する情報を含む配列。
戻り値
- 無効化する場合は
true、有効にする場合はfalseを返す。
使用可能なバージョン
- Advanced Custom Fields (ACF): 5.0以降
- WordPress: 4.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
add_filter('acf/field_group/disable_field_settings_tabs', function($disable, $field_group) {
return true; // 全てのフィールドグループで設定タブを無効にする
});
このサンプルコードは、全てのフィールドグループの設定タブを無効にします。
サンプルコード2
add_filter('acf/field_group/disable_field_settings_tabs', function($disable, $field_group) {
if($field_group['key'] === 'group_1') {
return true; // 特定のフィールドグループの設定タブを無効にする
}
return $disable;
});
特定のフィールドグループ(キーが group_1)の設定タブを無効にする例です。
サンプルコード3
add_filter('acf/field_group/disable_field_settings_tabs', function($disable, $field_group) {
if(current_user_can('editor')) {
return true; // 編集者ロールを持つユーザーにタブを無効化
}
return $disable;
});
このコードは、編集者ロールを持つユーザーにフィールド設定タブを無効にします。
サンプルコード4
add_filter('acf/field_group/disable_field_settings_tabs', function($disable, $field_group) {
return is_admin() ? true : false; // 管理画面でのみタブを無効にする
});
このコードは、管理画面で表示されるフィールドグループ設定タブを無効にするものです。
サンプルコード5
add_filter('acf/field_group/disable_field_settings_tabs', function($disable, $field_group) {
return !is_user_logged_in(); // 未ログインのユーザーにのみ設定タブを無効化
});
このサンプルでは、未ログインのユーザーにフィールド設定タブを無効にします。