プラグインAdvanced custom fields(ACF)のacf/field_group/disable_field_settings_tabsフィルタの使用方法・解説

概要

acf/field_group/disable_field_settings_tabs フィルタは、Advanced Custom Fields (ACF) のフィールド グループ エディターで、フィールド設定タブを無効にするために使用されます。このフィルタを使用することで、特定のフィールドグループの設定タブを非表示にしたり、特定のユーザーに対して表示されないようにすることができます。

よく使われるシーン

  1. セキュリティ上の理由から特定の設定を隠したい場合
  2. ユーザーインターフェースをシンプルにするため
  3. 特定のロールに対して設定オプションを非表示にしたい場合
  4. テスト環境でのフィールド設定の変更を禁止するため
  5. プラグインの仕様に基づいて設定を制限する目的
  6. エディターが誤って設定を変更しないようにするため

構文

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(); // 未ログインのユーザーにのみ設定タブを無効化
});

このサンプルでは、未ログインのユーザーにフィールド設定タブを無効にします。

この関数について質問する


上の計算式の答えを入力してください