2016-08-23 2 views
0

Я не могу реализовать перенаправлять на WordPress действия, определенной в functions.php. Действие: wpcf7_before_send_mail, эта функция в одном конкретном состоянии не должна отправлять электронное письмо формы контакта.Перенаправление на WordPress действия в functions.php

add_action('wpcf7_before_send_mail', 'my_function'); function my_function($wpcf7_data) { //redirect to another page } 

Вы можете мне помочь? Я не очень готов к настройке wordpress.

ответ

0

Если я понимаю ваш вопрос, вы хотите прервать отправку почты и перенаправить на страницу?

Я не очень знаком с контактной формой 7, но я думаю, вы должны использовать wpcf7_skip_mail вместо wpcf7_before_send_mail, а затем использовать wp_redirect() для перенаправления на другую страницу. Поэтому ваш код должен выглядеть примерно так:

function skip_mail($skip_mail, $contact_form) { 

    // Put in ur condition 
    if ($condition) { 

     // The redirect (look at the attached url) 
     wp_redirect($url) 

     // Return ture if you want to skip sending the mail. 
     return true;   
    } 

    // Return false if you want to send the mail. 
    return false; 

} 

add_filter('wpcf7_skip_mail', 'skip_mail', 10, 2); 

Я не проверял код, но думаю, что он должен работать.

Btw, вот еще один пример использования wp_redirect with CF7.

+0

Спасибо, что вы работаете! –

0

С CF7 ввел какое-то событие в JavaScript, вы можете попробовать добавить HTML в форму:

<script> 
    document.addEventListener('wpcf7mailsent', function(event) { 
     location = 'http://example.com/'; 
    }, false); 
</script> 

В CF7 page вы можете обнаружить, что.

Смежные вопросы