[英]Simplifying PHP in woocommerce checkout
我已经对此进行了重新排序和更改了WooCommerce结帐字段:
//Reorder checkout fields
add_filter( 'woocommerce_checkout_fields', 'reorder_woo_fields' );
function reorder_woo_fields( $fields ) {
$fields2['billing']['billing_first_name'] = $fields['billing']['billing_first_name'];
$fields2['billing']['billing_last_name'] = $fields['billing']['billing_last_name'];
$fields2['billing']['billing_address_1'] = $fields['billing']['billing_address_1'];
$fields2['billing']['billing_city'] = $fields['billing']['billing_city'];
$fields2['billing']['billing_postcode'] = $fields['billing']['billing_postcode'];
$fields2['billing']['billing_email'] = $fields['billing']['billing_email'];
$fields2['billing']['billing_phone'] = $fields['billing']['billing_phone'];
$fields2['billing']['billing_country'] = $fields['billing']['billing_country'];
$fields2['shipping']['shipping_first_name'] = $fields['shipping']['shipping_first_name'];
$fields2['shipping']['shipping_last_name'] = $fields['shipping']['shipping_last_name'];
$fields2['shipping']['shipping_address_1'] = $fields['shipping']['shipping_address_1'];
$fields2['shipping']['shipping_city'] = $fields['shipping']['shipping_city'];
$fields2['shipping']['shipping_postcode'] = $fields['shipping']['shipping_postcode'];
$fields2['shipping']['shipping_country'] = $fields['shipping']['shipping_country'];
$fields2['order']['order_comments'] = $fields['order']['order_comments'];
$fields2['billing']['billing_first_name'] = array(
'label' => __('First Name', 'woocommerce'),
'class' => array('form-row-wide'),
'clear' => true,
'required' => true
);
$fields2['billing']['billing_last_name'] = array(
'label' => __('Last Name', 'woocommerce'),
'class' => array('form-row-wide'),
'clear' => true,
'required' => true
);
$fields2['shipping']['shipping_first_name'] = array(
'label' => __('First Name', 'woocommerce'),
'class' => array('form-row-wide'),
'clear' => true,
'required' => true
);
$fields2['shipping']['shipping_last_name'] = array(
'label' => __('Last Name', 'woocommerce'),
'class' => array('form-row-wide'),
'clear' => true,
'required' => true
);
return $fields2;
}
有没有办法组合和/或简化这一过程? 它的效果很好,但看起来又漫长又复杂。
这样的事情怎么样。
add_filter("woocommerce_checkout_fields", "reorder_woo_fields");
function reorder_woo_fields($fields) {
$billing_order = array(
"billing_first_name",
"billing_last_name",
"billing_address_1",
"billing_city",
"billing_postcode",
"billing_email",
"billing_phone",
"billing_country"
);
foreach($billing_order as $field)
{
$billing_fields[$field] = $fields["billing"][$field];
}
$shipping_order = array(
"shipping_first_name",
"shipping_last_name",
"shipping_address_1",
"shipping_city",
"shipping_postcode",
"shipping_country",
);
foreach($shipping_order as $field)
{
$shipping_fields[$field] = $fields["shipping"][$field];
}
$fields["billing"] = $billing_fields;
$fields["shipping"] = $shipping_fields;
return $fields;
}
编辑:
add_filter( 'woocommerce_billing_fields', 'add_custom_css_on_checkout', 10, 1 );
function add_custom_css_on_checkout( $address_fields ) {
$address_fields['billing_first_name']['class'] = 'form-row-wide';
$address_fields['billing_last_name']['class'] = 'form-row-wide';
return $address_fields;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.