Отправьте SMS с сайта WP при публикации запланированного сообщения

Я хотел бы использовать встроенную в WordPress функцию пост-планирования для отправки SMS-напоминаний людям о материалах с веб-сайта. Цель состоит в том, чтобы создать функцию на сайте, где люди могут подписаться на напоминания о чем угодно, и я могу запланировать эти напоминания и автоматически отправлять их по SMS и электронной почте. Я хочу сделать это с помощью почты PHP.

Я написал функцию, которая использует transition_post_status крючок, следующим образом:

function visa_reminder( $old_status, $new_status, $post ) {
if ( ($old_status != 'publish' && $new_status == 'publish')
&& 'reminder' == $post->post_type
) {

/*
* Note: Reminder is the CPT I have created for this purpose
* In the custom post, you can input mobile number, carrier domain, etc.
*/

$number = get_field('mobile_number');
$carrier = get_field('carrier_domain');
$to = $number .'@'. $carrier;
$from = '[email protected]';
$subject = 'Your visa reminder';
$message = get_field('text');
$headers = "From: $from\n";

mail($to, $subject, $message, $headers);

echo $message;

}
}
add_action( 'transition_post_status', 'visa_reminder', 10, 3 );

Я вызываю функцию visa_reminder($old_status, $new_status, $post); в single-remder.php.

Затем я создаю сообщение с напоминанием и планирую его на несколько минут в будущем, просто для тестирования.

Сейчас происходит то, что SMS отправляется, как только я нажимаю кнопку «Расписание». И когда запланированная публикация действительно публикуется, больше ничего не происходит, кроме как когда я просматриваю реальную запись (не то, чтобы видеть сообщение важно — никто не должен его видеть, он просто должен отправить SMS), я получаю PHP ошибки, говорящие о том, что переменные, которые я вызвал в функции, не определены. Я думал, что они будут переданы функцией, поэтому я не совсем понимаю, как это исправить.

Я пробовал несколько перестановок этой функции за последние пару дней, а также экспериментировал с крючком future_to_publish без удачи Я чувствую, что я рядом, но у меня есть два основных вопроса:

  1. Я не понимаю, как именно я должен определить переменные, которые передаются функции на странице. Если это неправильно для меня, чтобы пройти $old_status, $new_status, $post, то, что я должен положить в функцию в single-Remder.php?

  2. Почему SMS-сообщение отправляется, когда я нажимаю «Расписание»? Я думаю, это потому, что пост переходит от «черновика» к «расписанию». Но тогда почему он не отправляет сообщение снова при переходе от «расписания» к «публикации»?

Спасибо за любую помощь, которую вы можете оказать.

0

Решение

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

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

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

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