我正在为我的购物网站使用woo-commerce。我想在付款完成后更新订单状态,然后返回成功页面。支付完成后更新woocommerce订单状态并重定向至商店
我用下面的代码:
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
钩的状态没有改变。 付款完成后应该调用挂钩。
您的过滤器是否被解雇?订单完成后?如果不尝试将'add_filter'更改为'add_action',请查看这些链接以获取更多信息[link](https://wordpress.org/support/topic/woocommerce-on-order-complete-insert-quantity-data-into-自定义数据库表),[链接2](http://www.rcorreia.com/woocommerce/woocommerce-automatically-set-order-status-payment-received/) – Noman
@Noman是过滤器开火,但在付款之前。它在网站转入付款页面时触发。付款完成后,我想要它。 –
所以你需要在'order-received'页面中添加这段代码,当页面被查看时它会被触发。 – Noman