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