@ak_wi

Как изменить письмо через хук для Contact Form 7?

Использую вот такой хук сейчас:
add_filter( 'wpcf7_validate_textarea', 'custom_textarea_validation_filter', 20, 2 );
add_filter( 'wpcf7_validate_textarea*', 'custom_textarea_validation_filter', 20, 2 );
 
function custom_textarea_validation_filter( $result, $tag ) {
    if ( 'your-message' == $tag->name ) {
        $your_message = isset( $_POST['your-message'] ) ? trim( $_POST['your-message'] ) : '';
 
        if ( strpos($your_message, 'http://') !== false ) {
            $result->invalidate( $tag, "Incorrect value" );
        }
    }
 
    return $result;
}


Нужно заменить

$result->invalidate( $tag, "Incorrect value" );

На какой-то хук, который бы изменял тело письма, которое Contact Form 7 отправляет юзеру. Т.е., если условие истинно, то юзер получает письмо с текстом А, а если нет - стандартное письмо с текстом Б, которое задано из админки.
  • Вопрос задан
  • 403 просмотра
Пригласить эксперта
Ответы на вопрос 1
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Использую вот такой хук сейчас:

Этот хук проверяет данных формы и определяет будет форма отправлена или нет.

Попробовать изменить сообщение можно, например, так:
add_filter('wpcf7_posted_data', 'my_wpcf7_posted_data');

function my_wpcf7_posted_data($posted_data) {
    if (isset($posted_data['your-message']) && strpos($posted_data['your-message'], 'http://') !== false) {
        $posted_data['your-message'] = 'Мой текст';
    }

    return $posted_data;
}
Ответ написан
Ваш ответ на вопрос

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

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