由于WordPress自4.6.1版起忽略define(\'WP_POST_REVISIONS\', false);
定义(至少在我的WP实例中),它会尝试进行尽可能多的修改。
即使一个帖子或WooCommerce产品只为CTRL+A -> CTRL+C
然后在没有编辑的情况下关闭,在大多数情况下,我会在数据库中为该特定帖子获得一个很好但完全不需要的修订条目。
由于我认为直接强制删除mySQL数据库中的任何内容都不是一个好主意,因此我最好使用以下不太困难的SQL查询将修订转换为后期草稿或产品草稿:
UPDATE `wp_posts` SET `post_date` = \'2222-12-31 00:00:00\' WHERE `wp_posts`.`post_type` = \'revision\';
UPDATE `wp_posts` SET `post_status` = \'draft\' WHERE `wp_posts`.`post_type` = \'revision\';
UPDATE `wp_posts` SET `post_type` = \'post\' WHERE `wp_posts`.`post_type` = \'revision\';
但不幸的是,后期修订或产品修订在
wp_posts
比较其
post_status
和
post_type
条目,因此在应用上述查询后,产品修订将变为后期草稿。
所以我的问题是,我如何检测WooCommerce的产品修订并将其转换为产品草稿,然后再对修订后的产品进行同样的操作?