Установить пост, не опубликованный через неделю, в зависимости от состояния

У меня есть почтовый тип с настраиваемым полем. Если этот флажок установлен и публикация опубликована, я хочу отменить публикацию, когда прошла одна неделя с момента последней модификации.

Как мне это сделать? Мне нужно запустить cron?

В псевдокоде:

if mycheckbox is 1 && post is published && last modified date > one week unpublish post 

(Edit) Думаю, теперь у меня что-то происходит. Функция делает более или менее то, что, как полагают. Мне просто нужно подождать час и посмотреть, работает ли работа cron.

 // Unpublish fixed occurences one week after last modified date, run this function in a cron once daily function xxx_occurences_unpublish_posts(){ global $wpdb; $args = array( 'post_type' => 'private_occurrences', 'post_status' => 'publish', 'meta_query' => array( array( 'key' => 'occurrence_fixed', 'value' => 1, 'compare' => '==' ) ), 'date_query' => array( array( 'after' => '1 week ago' ) array( 'column' => 'post_modified_gmt', 'after' => '1 week ago', ) ), ); $query = new WP_Query( $args ); $posts = $query->get_posts(); foreach( $posts as $post) { $post_to_be_updated = array( 'ID' => $post->ID, 'post_status' => 'Private', ); wp_update_post( $post_to_be_updated ); } } // Set up cron to run above unpublish function once daily if ( ! wp_next_scheduled('xxx_cron_unpublish_occurrences') ) { wp_schedule_event( time(), 'daily', 'xxx_cron_unpublish_occurrences' ); // hourly, daily and twicedaily } add_action( 'xxx_cron_unpublish_occurrences', 'xxx_occurences_unpublish_posts' );