在 Woocommerce 打印发票和装箱单中显示订单自定义元数据

Display order custom meta data in Woocommerce Print Invoices & Packing Lists

在 Woocommerce 中,我正在使用 WooCommerce 打印发票和装箱单 插件,我正在尝试显示自定义订单元数据值,即发票中的交货日期。

这是我主题 functions.php 文件中的代码:

function sv_wc_pip_add_order_delivery_shipping( $order_id, $order ) {

    //$order_id = 25775; (this method is working but is static and not dynamic)

    $order_id = $order->get_id();

    $invoice_web_delivery_date = get_post_meta($order_id,'jckwds_date',true);

    echo $invoice_web_delivery_date ;

}

add_filter( 'wc_pip_after_customer_addresses', 'sv_wc_pip_add_order_delivery_shipping', 10, 3 );

但是 Order_id 不工作并且不返回每个 woocommerce 订单的订单 ID。

如何修改此代码以获得每个订单的正确 ID?

这个钩子函数的参数完全不同。请尝试以下操作:

add_action( 'wc_pip_after_customer_addresses', 'action_after_customer_addresses', 10, 4 );
function action_after_customer_addresses( $type, $action, $document, $order ) {
    if( $ddate = $order->get_meta( 'jckwds_date' ) )
        echo '<p>'.__("Delivery date") . ': ' . $ddate . '</p>';
    }
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。它应该有效。

wc_pip_after_customer_addresses action hook 的官方文档: