Начиная с Wordpress 5.1 (или 5 в целом) у меня проблема с заданием cron.
Эта верхняя часть cron фильтрует просроченные пользовательские записи (купон) и помечает его как "ненадежный", однако не работаетбольше.Не удалось найти проблему и нужна помощь.
Этот код:
function clpr_coupon_prune() {
global $clpr_options;
$message = '';
$links_list = '';
$subject = __( 'Clipper Coupons Expired', APP_TD );
if ( ! $clpr_options->prune_coupons ) {
return;
}
// Get all coupons with an expired date that have expired
$args = array(
'post_type' => APP_POST_TYPE,
'expired_coupons' => true,
'posts_per_page' => -1,
'fields' => 'ids',
'no_found_rows' => true,
'meta_query' => array(
array(
'key' => 'clpr_expire_date',
'value' => '',
'compare' => '!=',
)
)
);
$expired = new WP_Query( $args );
if ( isset( $expired->posts ) && is_array( $expired->posts ) ) {
foreach ( $expired->posts as $post_id ) {
wp_update_post( array( 'ID' => $post_id, 'post_status' => 'draft' ) );
$links_list .= html( 'li', get_permalink( $post_id ) ) . PHP_EOL;
}
}
$message .= html( 'p', __( 'Your cron job has run successfully. ', APP_TD ) ) . PHP_EOL;
if ( empty( $links_list ) ) {
$message .= html( 'p', __( 'No expired coupons were found.', APP_TD ) ) . PHP_EOL;
} else {
$message .= html( 'p', __( 'The following coupons expired and have been taken down from your website: ', APP_TD ) ) . PHP_EOL;
$message .= html( 'ul', $links_list ) . PHP_EOL;
}
$message .= html( 'p', __( 'Regards,', APP_TD ) . '<br />' . __( 'Clipper', APP_TD ) ) . PHP_EOL;
if ( $clpr_options->prune_coupons_email ) {
$email = array( 'to' => get_option( 'admin_email' ), 'subject' => $subject, 'message' => $message );
$email = apply_filters( 'clpr_email_admin_coupons_expired', $email );
appthemes_send_email( $email['to'], $email['subject'], $email['message'] );
}
}
add_action( 'clpr_coupon_prune', 'clpr_coupon_prune' );
/**
* Schedules a daily event to prune coupons which have expired.
*
* @return void
*/
function clpr_schedule_coupon_prune() {
if ( ! wp_next_scheduled( 'clpr_coupon_prune' ) ) {
wp_schedule_event( time(), 'daily', 'clpr_coupon_prune' );
}
}
add_action( 'init', 'clpr_schedule_coupon_prune' );
Действительно был бы признателен за помощь и некоторые входные данные, как решить эту проблему.Просто не могу понять, почему Wordpress 5.1 не запускает задание cron!