自从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作业!