我尝试将WordPress网站从Simple Fields插件迁移到Advanced Custom Fields插件。
我现在已经创建了所有ACF组件,我只需要用SF数据库中的数据填充它们。
存储数据的表格为wp_postmeta
,列为meta_id
,post_id
,meta_key
和meta_value
。
meta_id
是每行的唯一ID,因此此列对我没什么帮助,所以post_id
是重要的列。
我需要将数据从meta_value
移到meta_key
等于_simple_fields_fieldGroupID_3_fieldID_7_numInSet_0
到meta_value
,其中meta_key
等于hero_description
,hero_description
是空的,post_id
是相同的。
我将不得不为所有具有相应meta_key
ACF
的SF meta_key
重复此过程。
我非常了解mySQL所以我不知道从哪里开始。
任何人都可以帮我解释逻辑吗?
答案 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
。