mysql - 将 WordPress 元数据导入并转换为 ACF 中继器字段

标签 mysql wordpress advanced-custom-fields acfpro

我想将旧插件的 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/

相关文章:

PHP:strlen 返回字符长度而不是字节长度

php - 高级自定义字段 - Wordpress

javascript - 获取与当前日期 ACF 相比最接近的日期

mysql - 从不同的表生成用户帖子数和线程数

mysql - SUM() 返回错误值

php - MySQL CURDATE() 函数有时给出结果,但有时不显示记录

html - 在标题图片顶部添加图片 (Wordpress)

php - 从 1 个表格插入 2 个表格。 Mysql事务?

wordpress - HHVM 在 fatal error 时输出状态代码 200,因此我无法使用 fastcgi_next_upstream

css - 使用 ACF 显示选中和未选中的复选框