ACFでチェックボックス形式のタクソノミーフィールドにデフォルトのカテゴリーを設定する方法

WordPressのAdvanced Custom Fields(ACF)を使用して、チェックボックス形式のタクソノミーフィールドにデフォルトでカテゴリーにチェックを入れる方法を説明します。これにより、投稿作成時に指定したカテゴリーに自動的にチェックが入るようになります。以下はその実装例です。

function set_default_taxonomy_terms( $value, $post_id, $field ) {
    // フィールドが空の場合のみデフォルト値を設定
    if ( empty( $value ) ) {
        $default_terms = array( 21, 22, 23, 24, 25, 26, 27, 28 ); // デフォルトのカテゴリーIDを指定
        return $default_terms;
    }

    return $value;
}
add_filter( 'acf/load_value/name=your_taxonomy_field_name', 'set_default_taxonomy_terms', 10, 3 );

1. チェックボックス形式のタクソノミーフィールド

このコードは、ACFで チェックボックス形式 のタクソノミーフィールドにデフォルトで選択したカテゴリーを設定するためのものです。特定のカテゴリーが投稿作成時に自動的にチェックされる状態になります。

2. デフォルトのカテゴリーを設定する

$default_terms 配列には、デフォルトでチェックを入れるカテゴリーIDを設定します。この例では、カテゴリーID 21〜28 のカテゴリーにチェックが入るように設定しています。実際には、サイトに合わせたカテゴリーIDを指定してください。

3. ACFフィルターフックの使用

acf/load_value/name=your_taxonomy_field_name というフィルターフックは、指定したタクソノミーフィールドがロードされた際にデフォルト値を適用するためのものです。この場合、your_taxonomy_field_name の部分を実際に使用しているフィールド名に置き換えてください。

まとめ

このコードを使うと、WordPress投稿作成画面で、チェックボックス形式のタクソノミーフィールドに指定したカテゴリーにデフォルトでチェックが入るようにできます。頻繁に同じカテゴリーを選択する場合、効率的な操作を可能にする便利な機能です。

この記事を書いた人

田島 佑清

2児の父 / ネクストメディア株式会社のエンジニア