概要
acf/settings
フィルターは、Advanced Custom Fields (ACF) プラグイン全体で使用されるフィルター設定です。このフィルターを使用すると、ACFの動作をカスタマイズしたり、さまざまな設定を変更することができます。主に次のような機能を実装する際に用いられます。
- フィールドグループの表示順序の変更
- フィールドのラベルやプレースホルダのカスタマイズ
- スタイルシートやJavaScriptファイルの追加
- 特定の条件下でのフィールドの非表示
- エラーメッセージのカスタマイズ
- その他の設定やオプションの追加
構文
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ファイルにバージョン管理を追加することで、キャッシュを防ぎます。開発時や更新時に役立ちます。
これらのサンプルコードは、プラグインを使いやすくするための基本的なカスタマイズ手法を示しています。