概要
acf/init
アクションは、Advanced Custom Fields (ACF) プラグインが完全に初期化された後に起動します。このアクションは、ACFのフィールドグループやフィールドを登録したり、カスタム機能を追加する際に非常に便利です。
このアクションを使用する際には、以下のような機能を実装することがよくあります。
- カスタムフィールドグループの登録
- カスタムフィールドの設定
- カスタムポストタイプとのフィールド割り当て
- ACFのフィルターフックの登録
- ACFオプションページの作成
- カスタムテーブルへのデータ保存
構文
add_action('acf/init', 'my_acf_init_function');
function my_acf_init_function() {
// ACFの初期化処理
}
パラメータ
このアクションには特にパラメータはありません。
戻り値
このアクション自体は戻り値を持ちません。
使用可能なバージョン
- ACF バージョン: 5.0 以上
- WordPress バージョン: 4.0 以上
サンプルコード
サンプルコード 1: カスタムフィールドグループの登録
add_action('acf/init', 'register_my_acf_field_group');
function register_my_acf_field_group() {
acf_add_local_field_group(array(
'key' => 'group_1',
'title' => 'My Custom Group',
'fields' => array(
array(
'key' => 'field_1',
'label' => 'Custom Field',
'name' => 'custom_field',
'type' => 'text',
),
),
'location' => array(
array(
array(
'param' => 'post_type',
'operator' => '==',
'value' => 'post',
),
),
),
));
}
このコードは、特定のカスタムフィールドグループを‘post’ポストタイプに追加します。
サンプルコード 2: オプションページの作成
add_action('acf/init', 'my_acf_options_page');
function my_acf_options_page() {
if (function_exists('acf_add_options_page')) {
acf_add_options_page(array(
'page_title' => 'カスタムオプション',
'menu_title' => 'カスタムオプション',
'menu_slug' => 'custom-options',
'capability' => 'edit_posts',
'redirect' => false,
));
}
}
このコードは、WordPress管理画面にオプションページを追加します。
サンプルコード 3: カスタムフィールドをフロントエンドに表示
add_action('acf/init', 'my_acf_dynamic_field');
function my_acf_dynamic_field() {
if( function_exists('get_field') ) {
$custom_field_value = get_field('custom_field', get_the_ID());
echo $custom_field_value;
}
}
このコードは、現在のポストのカスタムフィールドの値をフロントエンドに表示します。
サンプルコード 4: カスタマイズされたフィールドの設定
add_action('acf/init', 'my_acf_add_custom_fields');
function my_acf_add_custom_fields() {
acf_add_local_field(array(
'key' => 'field_custom_image',
'label' => 'カスタム画像',
'name' => 'custom_image',
'type' => 'image',
));
}
このコードは、カスタム画像フィールドを新たに追加します。
サンプルコード 5: カスタム投稿タイプ用フィールド登録
add_action('acf/init', 'register_custom_post_type_fields');
function register_custom_post_type_fields() {
acf_add_local_field_group(array(
'key' => 'group_custom_post',
'title' => 'Custom Post Fields',
'fields' => array(
array(
'key' => 'field_custom_description',
'label' => 'カスタム説明',
'name' => 'custom_description',
'type' => 'textarea',
),
),
'location' => array(
array(
array(
'param' => 'post_type',
'operator' => '==',
'value' => 'custom_post',
),
),
),
));
}
このコードは、カスタム投稿タイプ「custom_post」に対応するフィールドグループを追加します。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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 |