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 中的字段名称