Создание крон в WordPress

Я работаю над созданием cron в WordPress, который удалит липкую опцию из поста-стикера с просроченной пользовательской датой истечения срока действия. У меня все идет, кроме как я не могу заставить WordPress распознать моего cron. Вот мой код для моего cron в моем плагине

// Custom Cron Recurrences
function expire_posts_cron_recurrence( $schedules ) {
$schedules['every_three_minutes'] = array(
'display' => __( 'every three minutes', 'textdomain' ),
'interval' => 180,
);
return $schedules;
}
add_filter( 'cron_schedules', 'expire_posts_cron_recurrence' );

// Schedule Cron Job Event
function expire_posts_cron() {
if ( ! wp_next_scheduled( 'expire_action_func' ) ) {
wp_schedule_event( time(), 'every_three_minutes', 'expire_action_func' );
}
}

register_activation_hook(__FILE__, 'expire_posts_cron');

// Scheduled Action Hook
function expire_action( ) {
// get sticky posts from DB
$sticky = get_option('sticky_posts');
// check if there are any
if (!empty($sticky)) {$args = array(
'post__in' => $sticky
);

query_posts($args);

if ( have_posts() ) {
while ( have_posts() ) {
the_post();
$post_ID = get_the_ID();

$expire_date = get_post_meta( $post_ID, 'expires_date', true );
$expire_time = get_post_meta( $post_ID, 'expires_time', true );

if(!empty($expire_date) && $expire_date != '' && !empty($expire_time) && $expire_time != ''){
$full_datetime = $expire_date.$expire_time." GMT-4:00 DST";
$epoch_full_datetime = strtotime($full_datetime);
$current_epoch_time = time();
if($epoch_full_datetime <= $current_epoch_time){
unstick_post( $post_id );
}
}

} // end while
} // end if

}
}

add_action( 'expire_action_func', 'expire_action' );

Я распечатываю задания cron в WordPress с этим, но моего cron там нет.

<?php echo '<pre>'; print_r( _get_cron_array() ); echo '</pre>'; ?>

Кто-нибудь знает, что я делаю не так?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]