我有某些 Woocommerce 产品需要客户(或产品接收者)提供出生日期。客户在创建帐户时需要提供出生日期以进行结账,所以我都在那里设置,但是如果选中“运送到不同的地址”并且如果有任何项目,我需要在运送部分添加一个必填的 DOB 字段购物车中有一个需要出生日期的地方。
这是我尝试过的:
add_filter( 'woocommerce_checkout_fields' , 'real_dob' );
function real_dob( $fields ) {
$fields['shipping']['real_dob'] = array(
'type' => 'text',
'class'=> array( 'form_right_half', 'req'),
'label' => __('Birthdate'),
'required' => true,
);
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$dob_check = get_post_meta( $cart_item['product_id'], 'require-dob', true );
if ( $dob_check == 1 ) {
$dob = true;
break;
}}
if ($dob)
return $fields;
}
这适用于购物车中的产品需要出生日期 - 添加了自定义字段。但是,如果购物车中没有任何产品需要 DOB,那么结帐字段中的任何一个都不会加载,无论是计费还是运输。我错过了什么?
白板的微信
慕码人2483693