情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
Magic Fields からACFへの移行の続き、テスト環境を5.0.13、PHP7.2に下げて、複製ボタンが動いたので、複製フィールドについても試してみた。
xmlでエクスポートしたデータでACFのリピーターと比べてみると、ACFはサブフィールドのメタキーはそれぞれ違うが、Magicの複製フィールドは同じメタキーで複数の値が保存されている。
出力する際は$list = get_field_duplicate(‘複製フィールド名’); foreach($list as $element) { のようにするので、これを、リピーターのサブフィールドにデフォルト値を設定する関数に入れてみた。
add_filter('acf/load_value/key=リピーターのフィールドキー', 'acf_load_repeater_value', 10, 3); function acf_load_repeater_value($value, $post_id, $field) { $list = get_field_duplicate('複製フィールド名'); if(!empty($list)){ $value = array(); foreach($list as $element) { $value[] = array( 'サブフィールドのフィールドキー' => $element ); } } return $value; }
で、ちゃんと値が入った。
Magic Fields には複製グループというものもある。理屈は同じ、な気はするけれど、今の所脳が考えることを拒否しているので、必要に迫られたら…
追記:
やはり気になったので、簡単にテストしてみた。複製グループの場合は
$grouplist = get_group('グループ名'); if(!empty($grouplist)){ $value = array(); foreach($grouplist as $group){ $value[] = array( 'サブフィールドのフィールドキー' => $group['グループのフィールド名'][1], 'サブフィールドのフィールドキー' => $group['グループのフィールド名'][1] );
*データの保存を確認後、Magic Fields を無効化したら、関数は削除!
追記:値をロードするだけなので、保存は必須
その他のAdvanced Custom Fields に関する記事一覧
- CF7 投稿IDとフォームID
- 管理画面メニューや編集ページの一部非表示
- ACF サブフィールドのアップデート
- ACF入れ子のグループフィールドのアップデート
- ACFデートピッカーのフォーマット注意点
- ページ・投稿の差し替え更新
- ゆっくり編集・プレビューして更新する
- 期日や定員でメールフォーム・申込みを締め切る
- ACF iframe
- acf カウント
- ACFで日時指定更新/ゆっくり編集して更新
- アイキャッチの有無とリピーター1つ目の画像
- ACFリピーターのサブフィールドを自動作成
- イベントカレンダーサンプル(ACFとCF7)
- acf 投稿オブジェクトにメタ値でフィルター
- ACF 画像URLからALTを取得
- 子テーマでACFを使う
- ACF リピーターをランダムに
- ブロックエディターでACFを使う
- ACF Blocks