woocommerce附加结算字段
问题描述:
我试图在woocommerce结算部分添加一个附加字段。我想在“名称”字段之前显示“标题”字段。woocommerce附加结算字段
我已经试过这样:
// Add a new checkout field
function custom_filter_checkout_fields($fields){
$fields['billing_title_field'] = array(
'some_field' => array(
'type' => 'text',
'required' => true,
'label' => __('Some field')
)
);
return $fields;
}
add_filter('woocommerce_checkout_fields', 'custom_filter_checkout_fields' );
然后
function order_fields($fields) {
$order = array(
"billing_title_field",
"billing_first_name",
"billing_last_name",
"billing_email",
"billing_phone",
"billing_country",
"billing_address_1",
"billing_address_2",
"billing_postcode",
"billing_company"
);
foreach($order as $field)
{
$ordered_fields[$field] = $fields["billing"][$field];
}
$fields["billing"] = $ordered_fields;
return $fields;
}
但这返回我没有现场我在第一步中创建。我清楚地知道我错过了这个过程的一个非常重要的部分,但我无法弄清楚究竟是什么。在互联网上搜索没有成功(提供的方法是在计费字段之前或之后添加字段,我需要将它添加到计费字段组中)。
任何帮助表示赞赏!提前致谢!
答
所以我想我找到了答案。其实在第一段代码中,我错过了一件重要的事情。这应该看起来像这样:
function custom_filter_checkout_fields($fields){
$fields['billing']['billing_title_field'] = array(
'some_field' => array(
'type' => 'text',
'required' => true,
'label' => __('Some field')
)
);
return $fields;
}
add_filter('woocommerce_checkout_fields', 'custom_filter_checkout_fields');
然后第二段代码将创建的字段设置到正确的位置。