我正在使用WP Crontrol,每天运行一些CRON作业来检查帖子的年龄。如果帖子提前2天发布,则会被删除。
这是可行的,但由于某种原因,只有三天以上的帖子被删除了。还有一些仍在出版中。
这一定是因为网站上大约有3000个帖子。有没有办法让我的CRON工作更有效率?
以下是我运行的当前代码:
class EventsWPCron {
public function __construct() {
if ( ! wp_next_scheduled( \'trash_old_events\' ) ) {
wp_schedule_event( time(), \'daily\', \'trash_old_events\' );
}
add_action( \'trash_old_events\', array( $this, \'delete_events\' ) );
}
public function delete_events() {
$args = array(
\'post_type\' => \'event\',
\'post_status\' => \'publish\',
\'posts_per_page\' => -1,
\'date_query\' => array(
array(
\'before\' => \'2 days ago\'
)
)
);
$query = new WP_Query( $args );
$posts = $query->get_posts();
foreach( $posts as $post ) {
wp_delete_post( $post->ID, true );
}
}
}
new EventsWPCron();