我想将旧插件的 wp_postmeta 数据转换为高级自定义字段 ACF(专业版,但这不是重点)。旧插件将所有数据保存在一个元值中(用 ||
和 \n
分隔),而 ACF 将使用多个值:
MySQL 中的旧插件数据:
meta_id
post_id 1000
meta_key "oldplugname"
meta_value "data1||url1\ndata2||url2\ndata3||url3\n"
如您所见,我有零到多个数据<->每个 post_id 的网址
如何将其转换为 ACF Pro 中继器字段(我们将此字段称为“中继器”)?
当尝试构建某物时。与中继器类似,我会得到 3 个数据网址:
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
那么你知道如何将旧数据从“oldplugin”转换为 ACF 吗?
最佳答案
您可以使用 ACF 的 add_row() 方法:https://www.advancedcustomfields.com/resources/add_row/
首先按\n 然后按 || 拆分旧插件的元值,循环遍历它并为每一行使用 add_row() 方法。
关于mysql - 将 WordPress 元数据导入并转换为 ACF 中继器字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56148763/