将 wordpress 元数据导入并转换为 ACF 转发器字段

Posted

技术标签:

【中文标题】将 wordpress 元数据导入并转换为 ACF 转发器字段【英文标题】:Import and transform wordpress meta data to ACF repeater field 【发布时间】:2019-10-02 13:31:39 【问题描述】:

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

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

当试图构建某物时。与中继器类似,我会得到 3 个数据 URL:

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?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于将 wordpress 元数据导入并转换为 ACF 转发器字段的主要内容,如果未能解决你的问题,请参考以下文章

php 将ACF自定义字段保存为Wordpress中的帖子标题

在 foreach 循环中获取 ACF 字段数据 - wordpress

一个复杂的查询,结合了WP课件功能,ACF转发器字段和寻找特定模板文件的元查询

我如何检索ACF谷歌地图数据并使用我自己的自定义字段来代替地图?

ACF 循环表复选框(WordPress)的问题

javascript WordPress查询多种帖子类型(REST API),对REST API的请求 - 查询多个帖子类型并按ACF字段对数据排序