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 работает)