删除重复的wp_postmeta记录

时间:2017-03-31 作者:Ivan Slaughter

我有许多重复的wp\\u Posteta记录(大约数百条记录具有相同的post\\u id和meta\\u密钥),需要通过mysql安全删除,是否有任何有效的方法删除Posteta记录。

wp_postmeta table

进一步的问题是如何创建代码实现来防止这种事后重复。非常感谢:-)

2 个回复
最合适的回答,由SO网友:KAGG Design 整理而成

分组请求非常复杂,因此为了避免问题,请考虑使用Cleanup Duplicate Meta 插件。

出现重复条目的原因是add_post_meta(). 仅使用update_post_meta() (即使创建meta,它也能工作)-每个帖子都会有一个带有特定名称的meta字段。

SO网友:MahdiY

尝试删除重复的wp\\U postmeta记录:

DELETE FROM `wp_postmeta` WHERE `meta_id` NOT IN (SELECT * FROM (SELECT MAX(`pm`.`meta_id`) FROM `wp_postmeta` pm GROUP BY `pm`.`post_id`, `pm`.`meta_key`) x)
使用update_post_meta 而不是add_post_meta 防止创建重复的Posteta。

相关推荐

是否可以取消对特定帖子类型的POSTS_PER_PAGE限制?

我想知道我是否可以取消特定帖子类型的posts\\u per\\u页面限制。在存档中。php页面我显示不同的帖子类型,对于特定的“出版物”帖子类型,我想显示所有帖子。我如何在不影响传统“post”类型的情况下实现这一点?