如何在 WooCommerce 管理单个订单中显示自定义结帐帐单字段

问题描述

在结帐过程中,在“公司”下,我还有另一个用于公司注册号的字段。现在,一切正常,该字段已正确保存在每个订单下,但我想知道如何在管理面板中打开订单时在公司名称显示公司注册号。

PS:字段名称billing_cif

Order meta in WooCommerce Admin Panel

解决方法

this WooCommerce snippet 中找到的 Customizing checkout fields using actions and filters (有一点错误),尝试以下操作:

/**
 * Display field value on the order edit page
 */
add_action( 'woocommerce_admin_order_data_after_billing_address','my_custom_checkout_field_display_admin_order_meta',10,1 );

function my_custom_checkout_field_display_admin_order_meta($order){
    echo '<p><strong>'.__('My Field').':</strong><br>' . get_post_meta( $order->get_id(),'billing_cif',true ) . '</p>';
}

您需要确保 wp_postmeta 表下的正确 meta_keybilling_cif,因为它也可以像 _billing_cif 一样保存。

代码位于活动子主题(或活动主题)的functions.php 文件中。它应该有效。


或者自 WooCommerce 3 以来以更好的方式做同样的事情:

add_action( 'woocommerce_admin_order_data_after_billing_address',1 );

function my_custom_checkout_field_display_admin_order_meta( $order ){
    $billing_cif = $order->get_meta('billing_cif'); // Get custom field value

    if( ! empty( $billing_cif ) ) {
        echo '<p><strong>'.__('CIF reference').':</strong><br>' . $billing_cif . '</p>';
    }
}

代码位于活动子主题(或活动主题)的functions.php 文件中。它也应该有效。