在Woocommerce 3中的帐户订单查看页面上显示付款说明

时间:2017-09-08 13:39:22

标签: php wordpress woocommerce payment-gateway orders

实际上,付款指示显示在订单已接收页面上:

我想要的是在我的帐户中显示此付款说明>订购视图页。

像这样:

我的问题:如何将付款说明显示在“我的帐户”中>订单查看页面?

我知道它会被发送到客户电子邮件,但如果他们懒得打开电子邮件,他们可以阅读订单详情页面中的说明。

2 个答案:

答案 0 :(得分:2)

在我们添加 woocommerce_order_details_after_order_table 挂钩的 woocommerce_thankyou_{$order->get_payment_method()} 操作挂钩中使用自定义挂钩功能,可以完成以下任务:

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" and "processing" order statuses and on 'view-order' page
    if( in_array( $order->get_status(), array( 'on-hold', 'processing' ) ) && 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() );

    }
}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

经过测试并在WooCommerce 3 +中工作。

答案 1 :(得分:0)

它对我不起作用,我不得不稍微修改代码:

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() );

    }
}