php - 付款过程完成后更新 woocommerce 订单状态并重定向到商店

标签 php wordpress woocommerce hook

我正在为我的购物网站使用 woo-commerce。我想在付款后更新订单状态以完成,然后返回成功页面。

我使用了以下代码:

add_filter( 'woocommerce_payment_complete_order_status', 'my_change_status_function', 10, 2 );

function my_change_status_function ($order_status, $order_id) {
  $order = new WC_Order($order_id);
  return 'completed';
}

但是这个函数在支付之前被调用并重定向到支付页面。

我想在支付完成后更改状态,然后返回到redirect URL。

这是我的重定向链接:

http://example.com/checkout/order-received/82/?key=wc_order_5614e28c9d183&state=return

但是当我使用 woocommerce_payment_complete_order_status 钩子(Hook)时状态没有改变。 该钩子(Hook)应该在支付完成后被调用。

最佳答案

尝试在你的插件中使用下面的代码

add_action( 'woocommerce_payment_complete', 'my_change_status_function' );

function my_change_status_function( $order_id ) {

    $order = wc_get_order( $order_id );
    $order->update_status( 'completed' );

}

关于php - 付款过程完成后更新 woocommerce 订单状态并重定向到商店,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32988565/

相关文章:

html - 你如何覆盖 html { min-width : 1200px } on wordpress?

php - 在 Woocommerce 单个产品页面和购物车上有条件地设置特定产品价格

php - 点击加载更多 WordPress 帖子

php - 从所有 WooCommerce 预订中获取所有人的总和

php - WooCommerce:还显示购物车商品的产品变体描述

javascript - PHP onSubmit,JS函数不会执行

php - 无需登录即可获取 Google Analytics 数据

php - 如何为phpcs添加多个路径?

php - Apple 推送通知服务 APNS - 通知未到达

wordpress - 如何在 WooCommerce 中隐藏交叉销售和追加销售产品的缺货产品?