情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・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 に関する記事一覧
- WP REST API とACF リピーター
- カテゴリーの閲覧数
- ACF デートピッカーのフォーマット設定
- ACF リピーターをカレンダーに出力(予約カレンダーの実装)
- ACF 入れ子リピーターの内側だけループ
- WP REST API 独自エンドポイントとACF
- ACF 値の登録や保存
- REST API でACFの表示など
- Advanced Custom Fields の表示、まとめ
- PHP8以降で出るWarning
- イベントの開催期間の表示
- イベント終了時にタイトルに追加する
- アクセスランキング
- ワードプレスからメール送信
- CF7で予約した人にリマインドメールを送る
- ACF 設定ページ(オプションページ)
- ACF escape HTML
- 出勤・スケジュール管理の覚書2
- ACF 複数選択チェックボックスのチェックの有無
- Advanced Custom Fields で役立つ関数