在 WooCommerce 上添加支付订单按钮我的帐户查看待处理订单的订单 [英] Add a pay order button on WooCommerce My account view order for pending orders

查看:68
本文介绍了在 WooCommerce 上添加支付订单按钮我的帐户查看待处理订单的订单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何创建支付此订单"当订单状态为 pending 时的按钮将在查看订单时显示在我的帐户页面上

链接结构如下:

https://url.com/checkout/order-pay/XXXXX/?pay_for_order=true&key=wc_order_XXXXXXXXXXXX

add_action( 'woocommerce_view_order', 'order_pay_button' );函数 order_pay_button( $order_id ){//获取 `WC_Order` 对象的一个​​实例$order = wc_get_order( $order_id );//获取订单号$order_number = $order->get_order_number();//获取订单状态名称$status_name = wc_get_order_status_name( $order->get_status() );//获取订单键$test_order_key = $order->get_order_key();//显示订单状态echo '

'.__(订单状态:").' ' .$status_name .'</div>';if ($status_name == "pending") {回声'<a href="https://url.com/checkout/order-pay/'.''.$order_number.''.'/?pay_for_order=true&key='.''.$test_order_key.''.'><按钮类型=提交"类=按钮alt"id=place_order">为此订单付款</button></a>';}}

解决方案

试试下面的简化代码版本,它会为挂单显示一个支付订单按钮:

add_action( 'woocommerce_view_order', 'order_pay_button' );函数 order_pay_button( $order_id ){//获取 `WC_Order` 对象的一个​​实例$order = wc_get_order( $order_id );if ( $order->get_status() == "pending" ) {打印输出('<a class="woocommerce-button button pay";href=%s/order-pay/%s/?pay_for_order=true&key=%s">%s</a>',wc_get_checkout_url(), $order_id, $order->get_order_key(), __(支付此订单",woocommerce"));}}

代码位于活动子主题(或活动主题)的functions.php 文件中.经测试有效.

How create "pay for this order" button when order status is pending to be displayed on the my account page when viewing an order

The link structure is as follows:

https://url.com/checkout/order-pay/XXXXX/?pay_for_order=true&key=wc_order_XXXXXXXXXXXX

add_action( 'woocommerce_view_order', 'order_pay_button' );
function order_pay_button( $order_id ){
// Get an instance of the `WC_Order` Object
$order = wc_get_order( $order_id );

// Get the order number
$order_number  = $order->get_order_number();

    
// Get the order status name
$status_name  = wc_get_order_status_name( $order->get_status() );

// Get the order key
 $test_order_key = $order->get_order_key();
 
   
// Display the order status 
echo '<div>' . __("Order Status:") . ' ' . $status_name . '</div>';



if ($status_name == "pending") {
   
     echo '
<a href="https://url.com/checkout/order-pay/'.''.$order_number.''.'/?pay_for_order=true&key='.''.$test_order_key.''.'">
<button type="submit" class="button alt" id="place_order">Pay for this order</button></a>';
   
} 


}

解决方案

Try the following simplified code version, that will display a pay order button for pending orders:

add_action( 'woocommerce_view_order', 'order_pay_button' );
function order_pay_button( $order_id ){
    // Get an instance of the `WC_Order` Object
    $order = wc_get_order( $order_id );

    if ( $order->get_status() == "pending" ) {
        printf(
            '<a class="woocommerce-button button pay" href="%s/order-pay/%s/?pay_for_order=true&key=%s">%s</a>',
            wc_get_checkout_url(), $order_id, $order->get_order_key(), __("Pay for this order", "woocommerce")
        );
    }
}

Code goes in functions.php file of the active child theme (or active theme). Tested and works.

这篇关于在 WooCommerce 上添加支付订单按钮我的帐户查看待处理订单的订单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆