我需要在CF7函数中添加一个自定义规则。基本上,我正在检查提交中的URL。以
开头的提交或
好的。我目前正在检查“ 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”消息添加到消息数组中。因此,这不是问题。为什么这不起作用?