我有3种自定义帖子类型,每个CPT都有帖子,这些帖子被cron jobs设置为通过给定的时间尺度自动删除,问题是当它们被删除时,它会在下拉列表中留下孤立的分类术语等,不用说,当单击它们时,会出现“嘎嘎嘎嘎oops 404错误”,我可以找到sql查询来运行孤立标签,但与分类学术语相关的似乎很少(事实上我什么也没发现),anubody对此有什么想法吗?
More Info
我的所有术语都预先分配给分类法,并列在wp\\U terms表中,它们被预先分配的原因是作者在创建新帖子时从选项菜单中选择了它们,因此所有未附加(未使用的术语)仍需要保留在wp\\U terms表中以供以后包含,我需要从中获取信息以运行删除查询的表是wp\\U terms\\U分类法,wp\\u terms\\u relationships和wp\\u posts来查找与空post id匹配的内容,这就是让我感到困惑的部分。
我通过以下方式显示选择条款Scribus Query Multiple Taxonomies 插件。
UPDATE:
从…起theDeadMedics 下面的答案我推断我可以做一些事情:
<?php
require_once \'wp-load.php\';
global $wpdb;
$expireds = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_type = \'sales\' AND HOUR(TIMEDIFF(NOW(), post_date_gmt)) >=4321
");
foreach ($expireds as $expired) {
wp_delete_post( $post->ID, true );
}
?>
LAST UPDATE我看到一些人将此设置为最喜欢的,下面是一个完整的工作查询,它将删除设置为post\\u date\\u gmt后“n”个小时数的过期帖子(以及与该帖子相关的所有元数据)。
在下面的代码中>=2
表示删除1小时前的帖子,您希望为删除设置的小时数应始终加1。
<?php
require_once \'wp-load.php\';
global $wpdb;
$expireds = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_type = \'sales\' AND HOUR(TIMEDIFF(NOW(), post_date_gmt)) >=1");
foreach ($expireds as $post) {
wp_delete_post( $post->ID, false );
}
?>
问候