Тем не менее, я уверен, что могу подсказать вам о die (), которую вы делаете. Это происходит, но вы этого не замечаете, потому что в фильтрах die останавливает выполнение, но ничего не нарушает. Это означает, что, вероятно, форма не будет отправлена, но на внешнем интерфейсе не произойдет ничего, что показало бы, что функция умерла

ress - контактная форма 7

Я пытаюсь найти фильтр для изменения значения поля cf7, когда кто-то вводит значения в него.

когда пользователь вводит текстовое поле и отправляет данные,

подтвердить - я сделалне должен переходить на страницу с благодарностью, если недействительная запись - я сделалзаменить текстовое поле новыми данными - не выполнено

Например: 1

add_filter( 'wpcf7_validate_text*', 'your_validation_filter_func_tel', 100, 2 );
function your_validation_filter_func_tel( $result, $tag ) {

    $Yourvalue = $_POST['your-number'];
    if ( strlen( $Yourvalue ) == 2 ) {
        $result->invalidate( 'your-number', "Please enter a valid number.  " . );
        // HERE I WANT TO REPLACE NEW DATA TO TEXT FIELD
        $result->data( 'your-number', '1002' );
    } else if ( strlen( $Yourvalue ) == 3 ) {
        $result->invalidate( 'your-number', "Please enter a valid name." . );
        // HERE I WANT TO REPLACE NEW DATA TO TEXT FIELD
        $result->data( 'your-number', '1003' );
    }

    return $result;
}

Например: 2

еще один рабочий пример

все работает кроме$result['tel'] = $tel_cleaned_final;

    <?php

    function custom_filter_wpcf7_is_tel( $result, $tel ) 
    {

        // Initialization and Clean Input
        $tel_cleaned         = strtr( $tel, array(' '=>'', '-'=>'', '.'=>''));
        $tel_cleaned_trimmed = ltrim(strtr( $tel_cleaned, array('+'=>'')), '0');


        /* Test Conditions.
           I concluded 3 if conditions to 1 below bcaz the validation is working perfect
        */
        if ('test conditions here')
        $tel_cleaned_final = substr($tel_cleaned_trimmed, 2);
        else
        $tel_cleaned_final = $tel_cleaned_trimmed;



        if (strlen($tel_cleaned_final) == 10)
        {
        $result = true;

        //$result['tel'] = $tel_cleaned_final; 
        /* 
        Here i want to return new number to text box
        for eg: +91 98989-89898 returns  9898989898
        */

        }
        else
        {
        $result = false;
        }

        return $result;
    }
    add_filter( 'wpcf7_is_tel', 'custom_filter_wpcf7_is_tel', 10, 2 );

    ?>

Ответы на вопрос(2)

Ваш ответ на вопрос