Использую вот такой хук сейчас:
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 отправляет юзеру. Т.е., если условие истинно, то юзер получает письмо с текстом А, а если нет - стандартное письмо с текстом Б, которое задано из админки.