情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
たとえばQ&Aなどで、質問が固定の場合、質問ごとに回答の入力欄をつけるのが普通かと思うが、質問と回答のセットが結構な数がある場合、リピーターのほうが設定もテーマ書きも楽なので、デフォルト値を設定する方法を探してみた。
リピーターの上限・下限を設定の上、
add_filter('acf/load_value/key=リピーターのキー', 'acf_load_repeater_value', 10, 3); function acf_load_repeater_value($value, $post_id, $field) { if ( get_post_status( $post_id ) === 'auto-draft' ) { if( get_post_type( $post_id ) == 'posttype' ){ $value = array(); $value[] = array( 'サブフィールドのキー' => '質問1' ); $value[] = array( 'サブフィールドのキー' => '質問2' ); $value[] = array( 'サブフィールドのキー' => '質問3' ); $value[] = array( 'サブフィールドのキー' => '質問4' ); $value[] = array( 'サブフィールドのキー' => '質問5' ); } } return $value; }
のようにして、編集してほしくない場合はAdd Admin CSSなどでクリックできないように設定。
フィールドのキーはPHPでエクスポートするか、編集ページのソースで確認。
2020.11追記
プロ版の5.9以降、一覧にキーが表示できるようになった。
2021.2追記
一応質問の内容は決まっているが変更があるかも知れない場合は、繰り返しフィールド数の上限・下限の設定はなしで、上記の設定だけしておけば、新規投稿時にはサブフィールドに値が入った状態で、追加・削除・編集した場合はそれで保存される。
2021.7追記
すでに投稿が存在する状態で、デフォルト値付きのリピーターを追加したい場合は、
~auto-draft~の行をなしで、if( get_post_type( $post_id ) == ‘xxxx’ && empty($value) ){
その他のAdvanced Custom Fields に関する記事一覧
- ページ・投稿の差し替え更新
- ゆっくり編集・プレビューして更新する
- メールフォーム・申込みの締め切り
- ACF iframe
- acf カウント
- ACFで日時指定更新/ゆっくり編集して更新
- アイキャッチの有無とリピーター1つ目の画像
- ACFリピーターのサブフィールドを自動作成
- イベントカレンダーサンプル(ACFとCF7)
- acf 投稿オブジェクトにメタ値でフィルター
- ACF 画像URLからALTを取得
- 子テーマでACFを使う
- ACF リピーターをランダムに
- ブロックエディターでACFを使う
- ACF Blocks
- acf reset_rows
- ACF 値などの登録まとめ
- ACF チェックボックスの値での条件分岐
- ACF 柔軟コンテンツフィールド、固定ページ用
- ACF 柔軟コンテンツフィールド、ブログ・コラム用