WordPress Importer-如何处理特色图像的id冲突

时间:2018-07-17 作者:Sudar

我面临一个有线问题,如果附件的id在导入过程中更新了,则无法正确更新特色图像。存在这种情况。

假设您已从旧网站导出内容。帖子(假设id为1000)有一个特色图片(附件id为1001)。

现在我们正在尝试将其导入到新站点。假设在新站点中wp_posts 表的ID一直到1500。

导入导入附件时,附件的新id将为1501。该职位的新id将为1502。

但在id为1502的帖子中,帖子的元键_thumbnail_id 仍设置为1001,未更新为1501。

因此,新导入的帖子无法使用特色图片。是否有办法处理此id冲突?

1 个回复
最合适的回答,由SO网友:Sudar 整理而成

我最终解决了这个问题,通过在post id列中添加大量数字,然后导出内容来防止id冲突。

我运行的查询是

; Update the post ids of all attachments. I choose 1000,000 since I already had more than 100,000 posts.
update wp_posts set id = id + 1000000 where post_type = \'attachment\';

; Update the postmeta fields of all attachments
update wp_postmeta set post_id = post_id + 1000000 where meta_key = \'_wp_attachment_metadata\';
update wp_postmeta set post_id = post_id + 1000000 where meta_key = \'_wp_attachment_image_alt\';
update wp_postmeta set post_id = post_id + 1000000 where meta_key = \'_wp_attached_file\';


; Update the featured image ids
update wp_postmeta set meta_value = meta_value + 1000000 where meta_key = \'_thumbnail_id\'

; You needs this if you are using featured images for terms. Change the meta key to whatever you are using.
update wp_termmeta set meta_value = meta_value + 1000000 where meta_key = \'featured_image_id\' and meta_value > 0;

结束