2016-07-14 3 views
0

문의 양식 7에서 사용자 지정 유효성 검사를 사용하고 있지만 모든 양식에 대해 양식에 대해서만 의 유효성을 검사해야합니다.문의 양식 특정 양식 ID에 대한 사용자 지정 유효성 검사

add_filter('wpcf7_validate_text*', 'my_custom_text_validation_filter', 20, 2); 
function my_custom_text_validation_filter($result, $tag) { 

    $tag = new WPCF7_Shortcode($tag); 

    if ('name' == $tag->name) { // validate name field only 

     .... // my validation here 

    } 

    return $result; 
} 

답변

1

CF7 항상 양식 ID를 포함, 숨겨진 필드가 _wpcf7라는 이름의 폼에 추가합니다 : 이것은 내 코드입니다. 코드를 실행하기 전에 유효성 검사중인 양식을 확인하기 위해 해당 입력란을 사용할 수 있습니다.

add_filter('wpcf7_validate_text*', 'my_custom_text_validation_filter', 20, 2); 
function my_custom_text_validation_filter($result, $tag) { 

    if (isset($_POST['_wpcf7']) && $_POST['_wpcf7'] != 166) // Only form id 166 will be validated. 
     return $result; 

    $tag = new WPCF7_Shortcode($tag); 

    if ('name' == $tag->name) { // validate name field only 

     .... // my validation here 

    } 

    return $result; 
}