You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为WooCommerce自定义必填结账字段添加验证

WooCommerce结账页面自定义必填字段验证失效的解决方法

问题说明

在WooCommerce中实现了以下功能:当购物车包含分类为video-short的商品时,在结账页面添加自定义字段并设置required=true,但该必填验证规则未生效。

原添加字段代码

<?php

add_action( 'woocommerce_before_order_notes', 'add_video_short_checkout_fields', 1000, 1 );
function add_video_short_checkout_fields( $checkout ) {

    date_default_timezone_set('Europe/Amsterdam');

    // 遍历购物车商品
    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
        $product = $cart_item['data'];

        if ( has_term( 'video-short', 'product_cat', $product->get_id() ) ) {
            $product_title = $product->get_name();
            $unique_id = $cart_item_key;

            $current_date = date('d-m-Y', strtotime('+72 hours'));
            $hours_to_add = 24;

            // 为对应商品添加自定义字段
            echo '<div class="video-short-fields group_extra_info">';
            echo '<h3>' . esc_html( $product_title ) . '</h3>';
            echo '<div class="video-short-fields form-row-group">';

            woocommerce_form_field( 'custom_field_1_' . $unique_id, array(
                'type' => 'text',
                'class' => array( 'video_veld customfield_start form-row-wide' ),
                'label' => __( 'Video Title Short', 'woocommerce' ),
                'placeholder' => __( 'Your title', 'woocommerce' ),
                'required' => true,
                ), $cart_item['my_custom_field_1'] );

            $hours_to_add += 24;
    
        }
}
?>

解决方案

经@LoicTheAztec提示,通过添加自定义验证函数解决了必填验证失效的问题,验证代码如下:

// 自定义结账必填字段验证
add_filter( 'woocommerce_checkout_process', 'custom_required_checkout_fields_validation' );
function custom_required_checkout_fields_validation() {
    // 遍历购物车商品
    foreach ( WC()->cart->get_cart() as $item_key => $item ) {
        if( isset($_POST['custom_field_1_'.$item_key]) && empty($_POST['custom_field_1_'.$item_key]) ) {
            wc_add_notice( __('"Video Title Short"为必填字段。', 'woocommerce' ), 'error' );
        }
    }
}

内容的提问来源于stack exchange,提问作者bent becker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 19:42:07