Bulk remove post meta

时间:2016-08-22 作者:Igor Skoldin

我正在工作的站点用于在帖子元中保存一些数据。这是一个WooCommerce网站,数据保存在产品变体中,字段名称类似于\\u field\\u name[12345],其中12345是变体id。

这导致导入/导出文件膨胀,并在数据库和保存此数据的元字段中创建了许多行,现在看起来像\\uu field\\u name。

现在,我正在寻找一种简单的解决方案(不需要很长时间就能实现),以从所有变体中删除像\\u field\\u name[12345]这样的字段。

然而,网站上有很多产品,只是循环浏览所有产品,每个产品的每个变体和make delete\\u post\\u meta($variance\\u id)都不是一个选项,因为我们将耗尽内存或时间限制。制作一个基于AJAX的函数,它会在超时的情况下中断查询,这不符合简单的解决方案标准。

你能再给我一个清理这个烂摊子的主意吗?

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

有时,人们只需要问一下,就可以了解问题所在。

DELETE FROM 
`db_name`.`wp_postmeta`  
WHERE `wp_postmeta`. `meta_key` LIKE  \'_field_name[%]\'
成功了。

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在