从简单字段迁移到高级自定义字段

时间:2017-08-09 13:14:26

标签: mysql wordpress advanced-custom-fields

我尝试将WordPress网站从Simple Fields插件迁移到Advanced Custom Fields插件。

我现在已经创建了所有ACF组件,我只需要用SF数据库中的数据填充它们。

存储数据的表格为wp_postmeta,列为meta_idpost_idmeta_keymeta_value

meta_id是每行的唯一ID,因此此列对我没什么帮助,所以post_id是重要的列。

我需要将数据从meta_value移到meta_key等于_simple_fields_fieldGroupID_3_fieldID_7_numInSet_0meta_value,其中meta_key等于hero_descriptionhero_description是空的,post_id是相同的。

我将不得不为所有具有相应meta_key ACF的SF meta_key重复此过程。

我非常了解mySQL所以我不知道从哪里开始。

任何人都可以帮我解释逻辑吗?

1 个答案:

答案 0 :(得分:0)

一位朋友给了我一个像魅力一样的查询。这里是他需要的任何其他人从简单字段迁移到高级自定义字段

SET @key_from = " _simple_fields_fieldGroupID_3_fieldID_0_numInSet_0";
SET @key_to = "hero_title";

UPDATE wp_postmeta a,
(
   SELECT
   meta_id,post_id,meta_key,meta_value
   FROM wp_postmeta
   WHERE meta_key = @key_from
   AND meta_value <> ''
)
b SET a.meta_value = b.meta_value
WHERE a.meta_key = @key_to
and a.meta_value = ''
and a.post_id = b.post_id

基本上,您所要做的就是找出哪些SF meta_key与ACF meta_key对应,并相应地设置@key_from@key_to