您的位置:首页 > 其它

[转]Woocommerce自定义用户结账(checkout)页面地址显示顺序

2015-02-08 21:00 555 查看
Woocommerce 是一个非常好的WordPress 电子商务插件,但是结账页面用户地址不是很适合国内用户习惯,这里介绍怎么自定义结账页面地址信息显示顺序。

用户进入结账(checkout)页面,用户地址信息显示效果如下:



对于国内用户,姓肯定在名之前,地址信息排列一般为:国家-》省-》市区-》详细地址

在你的主题的functions.php文件中添加如下代码:

// Change checkout page address
function custom_override_checkout_fields( $fields ) {
// billing address
$fields['billing']['billing_first_name']['class'] = array('form-row-last');
$fields['billing']['billing_last_name']['class'] = array('form-row-first');
$fields['billing']['billing_phone']['class'] = array('form-row-wide');

$fields['billing']['billing_email']['class'] = array('form-row-wide');

$fields['billing']['billing_state']['class'] = array('form-row-wide');

// billing address order
$billing_order = array(
"billing_last_name",
"billing_first_name",
"billing_country",
"billing_state",
"billing_city",
"billing_address_1",
"billing_address_2",
"billing_phone",
"billing_email",
);

foreach($billing_order as $field)
{
$billing_ordered_fields[$field] = $fields["billing"][$field];
}

$fields["billing"] = $billing_ordered_fields;

return $fields;
}

add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );


代码解释:

// 设置邮箱地址,在独占一行显示

$fields['billing']['billing_email']['class'] = array('form-row-wide');

// 设置姓在前显示,名在后显示,但是两个在同一行

$fields['billing']['billing_first_name']['class'] = array('form-row-last');
$fields['billing']['billing_last_name']['class'] = array('form-row-first');

// 这个设置的是显示顺序,排在前面的,就在前面显示。
// 先显示姓,然后显示名,后面是国家、省份、城市、地址一、地址二、电话号码、邮箱
// 在这里不设置的字段,在前台不会显示出来
$billing_order = array(
"billing_last_name",
"billing_first_name",
"billing_country",
"billing_state",
"billing_city",
"billing_address_1",
"billing_address_2",
"billing_phone",
"billing_email",
);


转载自:http://www.phpmarker.com/317.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐