我想将用户帐户中的字段添加到woocommerce的结帐字段中。我已经有一个字段“ EU VAT Number”,其中包含帐户中每个用户的值。我想在结帐页面上的帐单明细之后显示此字段及其值。
我创建了一个过滤器,但是它只显示没有值的字段标签。 下面是我的代码
// Display a custom field on checkout and on My account > edit
billing address
add_filter( 'woocommerce_billing_fields' ,
'adding_billing_eu_vat_number', 20, 1 );
$vat = get_field('billing_eu_vat_number',
'user_'.get_current_user_id());
if( $vat = get_field( 'billing_eu_vat_number',
'user_'.get_current_user_id() ) ) { echo "<h3
style='margin:0;font-weight: 600;'>" . 'EU VAT NUMBER: ' .
$vat . '</h3>' ; }
function adding_billing_eu_vat_number ( $fields ) {
$fields['eu_vat_number'] = array(
'label' => __('EU VAT Number', 'woocommerce'),
'placeholder' => _x($vat, 'placeholder', 'woocommerce'),
'class' => array('form-row-wide'),
'required' => true,
'clear' => true,
);
return $fields;
}
我需要每个客户每次订购欧盟编号时都不要插入并且已经插入。 预先谢谢你!
答案 0 :(得分:0)
您需要为其提供默认值, 试试这个
add_filter( 'woocommerce_billing_fields' , 'adding_billing_eu_vat_number', 20, 1 );
function adding_billing_eu_vat_number ( $fields ) {
$eu_vat_number = get_field('billing_eu_vat_number', 'user_'.get_current_user_id());
$fields['eu_vat_number'] = array(
'label' => __('EU VAT Number', 'woocommerce'),
'placeholder' => _x($vat, 'placeholder', 'woocommerce'),
'class' => array('form-row-wide'),
'required' => true,
'clear' => true,
'default' => $eu_vat_number;
);
return $fields;
}