提问者:小点点

导入和转换wordpress元数据到ACF中继器字段


我想将旧插件的wp_postmeta数据转换为高级自定义字段ACF(Pro,但这不是重点)。旧插件将所有数据保存在一个meta_值中(用|\n分隔),而ACF将使用多个值:

MySQL中的旧插件数据:

meta_id 
post_id    1000
meta_key   "oldplugname"
meta_value "data1||url1\ndata2||url2\ndata3||url3\n"

如你所见,我有0到多个数据

如何将其转换为ACF Pro Repeater字段(我们将此字段称为“Repeater”)?

当试图建立的东西。

meta_key              -> meta_value

repeaterfield         -> 3
_repeaterfield        -> field_5cdbf84150b2a
repeaterfield_0_data  -> aaa
_repeaterfield_0_data -> field_5cdbf84f50b2b
repeaterfield_0_url   -> http://urlforaaa.com
_repeaterfield_0_url  -> field_5cdbf84f50b2c
repeaterfield_1_data  -> bbb
_repeaterfield_1_data -> field_5cdbf84f50b2b
repeaterfield_1_url   -> http://urlforbbb.com
_repeaterfield_1_url  -> field_5cdbf84f50b2c
repeaterfield_2_data  -> ccc
_repeaterfield_2_data -> field_5cdbf84f50b2b
repeaterfield_2_url   -> http://urlforccc.com
_repeaterfield_2_url  -> field_5cdbf84f50b2c

那么,有什么想法吗,如何将旧数据从“旧插件”转换到ACF?


共1个答案

匿名用户

您可以使用ACF的add_row()方法:https://www.advancedcustomfields.com/resources/add_row/

先按\n,然后按| |拆分旧插件的元值,循环遍历它,并对每一行使用add_row()方法。