Contact Form 7 检查字段数量
Contact Form 7 check quantity of fields
在 wordpress 中,我使用的是 Contact Form 7。我想创建一个订单。但订单数量必须至少有 2 件产品。当人们订购的产品少于两种时,他们必须收到一条消息,表明这是不可能的。
人们总共可以订购 6 种不同的产品。每种产品都可以订购任意数量。
我有什么想法可以让这项工作成功吗?
我找到了一个方法。我为联系表创建了一个新过滤器
代码如下:
add_filter( 'wpcf7_validate_number*', 'custom_number_confirmation_validation_filter', 20, 2 );
function custom_number_confirmation_validation_filter( $result, $tag ) {
$tag = new WPCF7_Shortcode( $tag );
$var1 = isset( $_POST['your_number1'] ) ? trim( $_POST['your_number1'] ) : '';
$var2 = isset( $_POST['your_number2'] ) ? trim( $_POST['your_number2'] ) : '';
$var3 = isset( $_POST['your_number3'] ) ? trim( $_POST['your_number3'] ) : '';
$var4 = isset( $_POST['your_number4'] ) ? trim( $_POST['your_number4'] ) : '';
$var5 = isset( $_POST['your_number5'] ) ? trim( $_POST['your_number5'] ) : '';
$var6 = isset( $_POST['your_number6'] ) ? trim( $_POST['your_number6'] ) : '';
$varNumber = '2';
if ( $var1 + $var2 + $var3 + $var4 + $var5 + $var6 < $varNumber) {
$result->invalidate( $tag, "Order a minimum of 2!" );
}
return $result;}
将 your_number# 替换为 Contact Form 7 中的字段名称
在 wordpress 中,我使用的是 Contact Form 7。我想创建一个订单。但订单数量必须至少有 2 件产品。当人们订购的产品少于两种时,他们必须收到一条消息,表明这是不可能的。
人们总共可以订购 6 种不同的产品。每种产品都可以订购任意数量。
我有什么想法可以让这项工作成功吗?
我找到了一个方法。我为联系表创建了一个新过滤器
代码如下:
add_filter( 'wpcf7_validate_number*', 'custom_number_confirmation_validation_filter', 20, 2 );
function custom_number_confirmation_validation_filter( $result, $tag ) {
$tag = new WPCF7_Shortcode( $tag );
$var1 = isset( $_POST['your_number1'] ) ? trim( $_POST['your_number1'] ) : '';
$var2 = isset( $_POST['your_number2'] ) ? trim( $_POST['your_number2'] ) : '';
$var3 = isset( $_POST['your_number3'] ) ? trim( $_POST['your_number3'] ) : '';
$var4 = isset( $_POST['your_number4'] ) ? trim( $_POST['your_number4'] ) : '';
$var5 = isset( $_POST['your_number5'] ) ? trim( $_POST['your_number5'] ) : '';
$var6 = isset( $_POST['your_number6'] ) ? trim( $_POST['your_number6'] ) : '';
$varNumber = '2';
if ( $var1 + $var2 + $var3 + $var4 + $var5 + $var6 < $varNumber) {
$result->invalidate( $tag, "Order a minimum of 2!" );
}
return $result;}
将 your_number# 替换为 Contact Form 7 中的字段名称