在 View Order Details 页面上,显示订单的付款说明,其中 order status = "on hold"

On View Order Details page, display payment instructions for orders, where order status = "on hold"

Expected placement for the payment instructions

在我的账户 > 查看订单页面,我想显示处于“暂停”状态的订单的付款说明。

如何添加到订单详情之前或之后Table?

我找到的代码片段 (),但不起作用

add_action( 'woocommerce_order_details_after_order_table', 'view_order_custom_payment_instruction', 5, 1); // Email notifications
function view_order_custom_payment_instruction( $order ){

    // Only for "on-hold" order statuses and on 'view-order' page
    if( in_array( $order->get_status(), array( 'on-hold' ) ) && is_wc_endpoint_url( 'view-order' ) ){

        // The "Payment instructions" will be displayed with that:
        do_action( 'woocommerce_thankyou_' . $order->get_payment_method(), $order->get_id() );

    }
}

请帮忙

您面临的问题是网关并没有在所有地方加载,而只是在结帐页面上加载。您可以更改代码以显式加载网关,从而执行您缺少的操作

add_action( 'woocommerce_order_details_after_order_table', 'view_order_custom_payment_instruction', 5, 1); // Email notifications
function view_order_custom_payment_instruction( $order ){

    // Only for "on-hold" order statuses and on 'view-order' page
    if( in_array( $order->get_status(), array( 'on-hold' ) ) && is_wc_endpoint_url( 'view-order' ) ){
        WC()->payment_gateways();
        // The "Payment instructions" will be displayed with that:
        do_action( 'woocommerce_thankyou_' . $order->get_payment_method(), $order->get_id() );

    }
}