更改WooCommerce订单中的管理员帐单邮寄地址字段的顺序

时间:2020-02-11 15:52:31

标签: php wordpress woocommerce hook-woocommerce orders

我在woocommerce订单中遇到问题,我希望billing_address_2在页面末尾显示为波纹管。

有人可以帮助我吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

负责显示字段的核心文件位于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;
}

哪个会给你类似的东西

enter image description here

如您所见,您不会像希望的那样在交易ID之后显示帐单address_2字段,而只会在帐单phone字段下方显示。


添加-在billing_address_2字段之前显示billing_country字段

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;
}