Задать вопрос
@Firebulk

[Решено] Почему не работает уведомления об успешной отправке Contact Form 7 в связке с SMS.ru?

Здравствуйте! Установил Wordpress в подпапке site.ru/m/. Сам сайт работает без ошибок, заявки с формы CF7 отправляются. Но у меня еще настроено смс оповещение через сервис SMS.ru. Так вот, если я в functions.php подключаю это смс-оповещение, то в CF7 перестает показываться уведомление об успешной отправке, отображается лишь лоадер. При этом заявка приходит и на почту и через смс. Если же форма заполнена неправильно, то уведомление об этом отображается так как нужно. Не работает только оповещение об успешной отправке. Что еще странно, то что в консоли никакой ошибки нет. До этого сайт был на поддомене и там все работало корректно. Сначала все работало через плагин Contact Form 7 — SMS.ru но после переноса сайта на подпапку перестал. Поэтому попытался сделать вручную в functions.php:
function wpcf7_send_sms ($contact_form)
{

    $id_cf7 = $contact_form->id;
    $posted_data = $contact_form->posted_data;
    $submission = WPCF7_Submission::get_instance();
	$posted_data = $submission->get_posted_data();

		$tel = $posted_data['tel-994'];
		$sms_text = "Запрос звонка от ".$tel;

        	$ch = curl_init("https://sms.ru/sms/send");
	        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
	        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        	curl_setopt($ch, CURLOPT_POSTFIELDS, array(
	            "api_id"        =>  "BGFG-565-DFDFDf-FGHDDFGHDFO",
        	    "to"            =>  "79999999999",
	            "text"      =>   $sms_text
        	));

	        $body = curl_exec($ch);
        	curl_close($ch);
}
add_action('wpcf7_mail_sent', 'wpcf7_send_sms');

После включения этого скрипта заявки отправлются, смс приходит, но не отображается только уведомление что заявка отправлена. Может кто сталкивался с этим? Или может быть можно по другому сделать уведомление об отправке? Хотя я пробовал таким образом на JQuery:
jQuery(function($){
		$('#wpcf7-f30-o5 .wpcf7-submit').on('click',function(){
			if ($('.tel-994 input').val().lenght > 0) {
				$('.succes-div').show();
			}
		});
	});

Но тоже не работает. Заранее спасибо за ответы.
  • Вопрос задан
  • 960 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
Добавьте в конце функции после curl_close($ch); строку return $contact_form;

function wpcf7_send_sms ($contact_form)
{
...
curl_close($ch);

return $contact_form;
}
Ответ написан
Palych_tw
@Palych_tw
Типа веб-разработчик
Была аналогичная ситуация. помог return true;
Хотя, это мало отличается от ответа Kotmail
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы