Выборочная проверка CF7 для проверки только определенного URL - PullRequest
0 голосов
/ 20 сентября 2019

Мне нужно добавить пользовательское правило к моим функциям CF7.По сути, я проверяю URL в представленных материалах.Материалы, которые начинаются с

http://boca

или

https://boca

В порядке.В настоящее время я проверяю наличие экземпляров «http», а затем проверяю, сколько из двух допустимых значений.Если общее число «http» выше, то есть недопустимые URL-адреса.Вот мой кодКажется, это не работает.Я думал, что этот метод будет зацикливаться на форме.Помогите мне пожалуйста

    function check_if_brp_url( $result, $tag ){

    //$cool_boca_urls = array("https://boca", "http://boca");

        $name = $tag->name;

        //$value = isset( $_POST[$name] )
        //  ? trim( wp_unslash( strtr( (string) $_POST[$name], "\n", " " ) ) )
//: '';

            $value = isset( $_POST[$name] ) ? (string) $_POST[$name] : '';
                if ( 'text' == $tag->basetype ) {
                    foreach($value as $value){
                    $http_setter = "http";
                    $http_value_val = substr_count($value, $http_setter);

             if(!empty($http_value_val)){
                     $good1 = "https://boca";
                $good2 = "http://boca";
                 $good_urls = substr_count($value, $good1) + substr_count($value, $good2);
                 if($http_value_val > $good_urls){
                    $result->invalidate( $tag, wpcf7_get_message( 'not_brp_url' ) );
                 }
             }
             }
         }

            return $result;
}

add_filter( 'wpcf7_validate_text', 'check_if_brp_url', 10, 2 );
add_filter( 'wpcf7_validate_text*', 'check_if_brp_url', 10, 2 );

Также я добавил сообщение "not_brp_url" в массив сообщений.Так что это не проблема.Почему это не работает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...