2016-07-14 65 views
0

我使用自定义的验证在联系表7,但我需要验证只针对特定的形式,而不是我的所有形式。这是我的代码:联系表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总是添加到形式的隐藏字段名为_wpcf7,包含表单ID。在执行代码之前,可以使用该字段来检查您正在验证的表单:

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; 
}