在结帐页面上,如果购物车中的物品重量超过1000kg,我想添加一个自定义字段。
有没有一种方法来添加if语句(到form-checkout.php?)来获得购物车的重量,然后我可以在选择字段中添加?
答案 0 :(得分:1)
也先阅读the official related documentation to customize checkout fields或this documentation。
下面是一个示例,该示例将在结帐页面中的购物车重量超过1000 Kg(1吨)时添加自定义计费选择字段:
add_filter( 'woocommerce_checkout_fields' , 'customizing_checkout_fields', 10, 1 );
function customizing_checkout_fields( $fields ) {
if( WC()->cart->get_cart_contents_weight() > 1000 ) {
// Custom Select field
$fields['billing']['billing_custom'] = array(
'type' => 'select',
'label' => __("Cart weight over 1 Ton", "woocommerce"),
'class' => array('form-row-wide'),
'options' => array(
'' => __("Choose an option please…", "woocommerce"),
'option-1' => __("Option 1", "woocommerce"),
'option-2' => __("Option 1", "woocommerce"),
'option-3' => __("Option 1", "woocommerce"),
),
'priority' => '120',
'required' => true,
);
}
return $fields;
}
代码进入活动子主题(或活动主题)的functions.php文件中。经过测试和工作。