acf_init()


Advanced Custom Fields (ACF)のacf_init()関数は、ACFプラグインが完全に初期化された後にフックを実行するために使用されます。この関数は、主にカスタムフィールドの動作を拡張する目的で使用されます。

構文

acf_init();

例 1: ACF初期化時のカスタム設定

acf_initフックを使用してカスタムフィールドの設定を変更します。

<?php
add_action('acf/init', function() {
    acf_update_setting('google_api_key', 'YOUR_GOOGLE_API_KEY');
});
?>

例 2: カスタムブロックの登録

ACFを使用して新しいカスタムブロックを登録します。

<?php
add_action('acf/init', function() {
    acf_register_block_type([
        'name' => 'example_block',
        'title' => __('Example Block'),
        'render_template' => 'template-parts/blocks/example-block.php',
        'category' => 'formatting',
    ]);
});
?>

例 3: 特定のフィールドの読み込み時の処理

フィールドが読み込まれる前にデータをフィルタリングします。

<?php
add_action('acf/init', function() {
    add_filter('acf/load_field/name=custom_field', function($field) {
        $field['choices'] = ['option1' => 'Option 1', 'option2' => 'Option 2'];
        return $field;
    });
});
?>

例 4: ロケーションルールの追加

カスタムロケーションルールを追加します。

<?php
add_action('acf/init', function() {
    acf_add_location_rule('is_admin', [
        'label' => __('Is Admin'),
        'value' => 1,
        'callback' => function($match, $rule, $options) {
            return is_admin();
        },
    ]);
});
?>

例 5: カスタムスクリプトの読み込み

ACF初期化後にカスタムスクリプトを読み込みます。

<?php
add_action('acf/init', function() {
    wp_enqueue_script('custom-acf-script', get_template_directory_uri() . '/js/custom-acf.js', ['jquery'], null, true);
});
?>

注意事項

  • acf_init()はACFプラグインがインストールされ、有効化されている場合のみ動作します。
  • 関数を使用する際は、正しいフックポイントで実行するように注意してください。