首先,您需要获得ACFField_XXXXXXX
您的转发器字段已分配的标签,可以通过发出以下查询找到,
选择pm。“..$wpdb->前缀”中的meta\\u键postmeta pm加入“..$wpdb->前缀”在采购订单上发布采购订单。ID=pm。post\\u id,其中pm。meta\\u值,如“{中继器字段名}%”和po。post\\u标题=“{字段组名称}”
您可以使用wpdb->get_results()[0][\'meta_key\']
, 获取的值pm.meta_key
.
代替{The Field Group Name}
使用分配给ACF字段的字段组名称,
代替{The repeater field name}
具有转发器字段名称(不是子字段)。
这个acf_repeater
字段正在查找数组,
给定的照片是您的acf转发器字段名,您没有指定子字段名,因此将使用image作为子字段名,
$photos = array (array(\'image url\'));
foreach ($photos as $key => $value) {
update_metadata(\'post\', \'photos_\'.$key.\'_image\', $value);
update_metadata(\'post\', \'_photos_\'.$key.\'_image\', \'_photos\'.$key.\'_image\');
}
现在您必须更新acf repeater字段,
update_metadata(\'post\', $post_id, \'photos\', count($photos));
update_metadata(\'post\', $post_id, \'_photos\', $field_key);
在哪里
$photos
是照片阵列,并且
$field_key
是
meta_key
从上面的SQL查询中获取。
此链接很好地解释了元表中的转发器字段名称,https://support.advancedcustomfields.com/forums/topic/adding-rows-into-a-repeater-field-programatically/