【问题标题】:How to display custom checkout billing field in WooCommerce admin single orders如何在 WooCommerce 管理员单笔订单中显示自定义结帐结算字段
【发布时间】:2021-04-17 12:16:09
【问题描述】:

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

PS:字段名是billing_cif

【问题讨论】:

  • 通常我们希望您在问题中提供您自己的真实代码尝试。由于有一些现有代码作为官方 WooCommerce 代码 sn-p (但有错误),因此我异常地回答了下面的问题。其他更详细的方法(但更复杂)需要您在问题中尝试真正的代码。

标签: php wordpress woocommerce custom-fields orders


【解决方案1】:

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', 'my_custom_checkout_field_display_admin_order_meta', 10, 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 文件中。它也应该可以工作。

【讨论】:

    猜你喜欢
    • 2019-04-14
    • 1970-01-01
    • 2018-10-01
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    • 2019-02-05
    • 2020-08-03
    • 1970-01-01
    相关资源
    最近更新 更多