WP отложенная отправка письма
Есть такая задача, после того как статья была опубликована, отсылать первое письмо Админу сайта, а через N секунд второе письмо автору поста. Письма разные. Код для отсылок письма вот, рабочий.
//// Send Email
/* Letter for Admin */
function emailForAdmin($post_id) {
$post = get_post($post_id);
$link = $post->guid;
$author = get_userdata($post->post_author);
$message = "Hi Admin, the user - <b>". $author->display_name."</b> create new post ". $post->post_title ." You can check it ".$link." ";
$headers = array(
'From: Me Myself <me@example.net>',
'content-type: text/html',
);
wp_mail( get_option('admin_email'), "Created new post - ". $post->post_title ." ", $message, $headers);
}
add_action('publish_post', 'emailForAdmin');
// Email for Author
add_action('publish_post', 'cron_activation');
function cron_activation(){
if(! wp_next_scheduled('email_action_hook')){
$delaySeconds = 20;
wp_schedule_single_event(time() + $delaySeconds, 'email_action_hook');
}
}
add_action( 'email_action_hook', 'author_notification' );
function author_notification($post_id) {
$post = get_post($post_id);
$link = $post->guid;
$author = get_userdata($post->post_author);
$message = "Hi ".$author->display_name.", Well done! Your post,". $post->post_title ." has been reviewed and just been published. View here ".$link."";
wp_mail($author->user_email, "Your article status", $message);
}
Проблема в отложенной отправке второго письма. Пользовался функцией wp_schedule_single_event ..., но вот не могу понять чего автору поста письмо не приходит. Как вообще можно подтвердить, что данная функция отрабатывает ? Пробовал как в примере, то email админа тоже не меняет. Тут описывается событие которое должно произойти...if( 'true' == $_GET[ 'activated' ] ) {} но в моей задачи его нету. Подскажите, как в WP это можно реализовать, пробовал так же как и показывал автор форума и тоже не отрабатывает ? (Cron работает)