我想将旧插件的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?
您可以使用ACF的add_row()方法:https://www.advancedcustomfields.com/resources/add_row/
先按\n,然后按| |拆分旧插件的元值,循环遍历它,并对每一行使用add_row()方法。