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

概要

acf/settings フィルターは、Advanced Custom Fields (ACF) プラグイン全体で使用されるフィルター設定です。このフィルターを使用すると、ACFの動作をカスタマイズしたり、さまざまな設定を変更することができます。主に次のような機能を実装する際に用いられます。

  1. フィールドグループの表示順序の変更
  2. フィールドのラベルやプレースホルダのカスタマイズ
  3. スタイルシートやJavaScriptファイルの追加
  4. 特定の条件下でのフィールドの非表示
  5. エラーメッセージのカスタマイズ
  6. その他の設定やオプションの追加

構文

add_filter('acf/settings/{setting}', 'my_acf_setting_function');

パラメータ

  • {setting}: ACFの特定の設定名。
  • my_acf_setting_function: 設定をカスタマイズするためのコールバック関数。

戻り値

設定が成功した場合は変更後の値が、失敗した場合は元の値が返されます。

利用可能なバージョン

  • ACF バージョン: 5.x以上
  • 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: フィールドの表示順序を変更

add_filter('acf/settings/show_admin', '__return_false');

このサンプルコードはACFのフィールドグループ設定画面を非表示にします。管理画面での操作を制限したい場合に便利です。

サンプル 2: カスタムスタイルを読み込む

add_filter('acf/settings/enqueue_footer', function($boolean) {
    return true; // フッターにカスタムスタイルを読み込む
});

このコードはACFによって生成されたフィールドのスタイルをフッターエリアに読み込む設定を行います。

サンプル 3: カスタムエラーメッセージ

add_filter('acf/validate_value/name=custom_field', function($valid, $value, $form) {
    if ($value === '') {
        return 'カスタムフィールドは必須です。';
    }
    return $valid;
}, 10, 3);

このサンプルコードは、特定のカスタムフィールドが空の場合にエラーメッセージを返します。バリデーションを強化するために使用されます。

サンプル 4: フィールドのラベルをカスタマイズ

add_filter('acf/field_label/name=custom_field', function($label) {
    return '新しいフィールド名';
});

このコードは、特定のフィールドのラベル名を変更します。フィールドの意味を明確にしたい場合に役立ちます。

サンプル 5: JavaScriptをカスタムページに追加

add_filter('acf/settings/javascript', function($src) {
    return $src . '?ver=' . date('YmdHis'); // バージョン管理を追加
});

このサンプルでは、JavaScriptファイルにバージョン管理を追加することで、キャッシュを防ぎます。開発時や更新時に役立ちます。

これらのサンプルコードは、プラグインを使いやすくするための基本的なカスタマイズ手法を示しています。

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


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