更改 WooCommerce 订单中管理员账单地址字段的顺序
Change the order of admin billing address fields in WooCommerce orders
我在管理员中遇到 woocommerce 订单问题我希望 billing_address_2 显示在页面末尾,如下所示。
谁能帮帮我。
负责显示该字段的核心文件位于 WooCommerce 插件中:includes/admin/meta-boxes/class-wc-meta-box-order-data.php
。
唯一可用且有效的钩子是:woocommerce_admin_shipping_fields
。
但您只能使用类似以下内容的方式更改管理帐单字段的顺序:
add_filter( 'woocommerce_admin_billing_fields' , 'change_order_admin_billing_fields' );
function change_order_admin_billing_fields( $fields ) {
global $the_order;
$address_2 = $fields['address_2'];
unset($fields['address_2']);
$fields['address_2'] = $address_2;
return $fields;
}
这会给你类似的东西:
所以正如你所看到的你不会如你所愿的在交易ID之后显示billing address_2
字段,而只会在billing phone
字段。
添加 - 在 billing_country
字段之前显示 billing_address_2
字段:
add_filter( 'woocommerce_admin_billing_fields' , 'change_order_admin_billing_fields' );
function change_order_admin_billing_fields( $fields ) {
global $the_order;
$sorted_fields = [];
$address_2 = $fields['address_2'];
unset($fields['address_2']);
foreach ( $fields as $key => $values ) {
if( $key === 'country' ) {
$sorted_fields['address_2'] = $address_2;
}
$sorted_fields[$key] = $values;
}
return $sorted_fields;
}
我在管理员中遇到 woocommerce 订单问题我希望 billing_address_2 显示在页面末尾,如下所示。
谁能帮帮我。
负责显示该字段的核心文件位于 WooCommerce 插件中:includes/admin/meta-boxes/class-wc-meta-box-order-data.php
。
唯一可用且有效的钩子是:woocommerce_admin_shipping_fields
。
但您只能使用类似以下内容的方式更改管理帐单字段的顺序:
add_filter( 'woocommerce_admin_billing_fields' , 'change_order_admin_billing_fields' );
function change_order_admin_billing_fields( $fields ) {
global $the_order;
$address_2 = $fields['address_2'];
unset($fields['address_2']);
$fields['address_2'] = $address_2;
return $fields;
}
这会给你类似的东西:
所以正如你所看到的你不会如你所愿的在交易ID之后显示billing address_2
字段,而只会在billing phone
字段。
添加 - 在 billing_country
字段之前显示 billing_address_2
字段:
add_filter( 'woocommerce_admin_billing_fields' , 'change_order_admin_billing_fields' );
function change_order_admin_billing_fields( $fields ) {
global $the_order;
$sorted_fields = [];
$address_2 = $fields['address_2'];
unset($fields['address_2']);
foreach ( $fields as $key => $values ) {
if( $key === 'country' ) {
$sorted_fields['address_2'] = $address_2;
}
$sorted_fields[$key] = $values;
}
return $sorted_fields;
}