WooCommerce订单完成后跳转自定义URL,失败不跳转的PHP代码需求
WooCommerce 订单完成后跳转自定义URL的实现代码
可以通过 WooCommerce 的 woocommerce_thankyou 钩子实现这个需求,将以下代码添加到你的主题functions.php文件中即可:
add_action( 'woocommerce_thankyou', 'custom_redirect_after_order_completion', 10, 1 ); function custom_redirect_after_order_completion( $order_id ) { // 跳过无效订单ID的情况 if ( ! $order_id ) { return; } // 获取订单对象 $order = wc_get_order( $order_id ); // 仅当订单状态为已完成(completed)或处理中(processing)时执行跳转 // 可根据实际需求调整状态判断 if ( $order->has_status( array( 'completed', 'processing' ) ) ) { // 替换成你需要跳转的自定义URL $custom_url = 'https://your-custom-url.com'; // 执行跳转并终止脚本 wp_redirect( $custom_url ); exit; } // 订单状态不符合时不执行任何操作 }
代码说明:
- 使用
woocommerce_thankyou钩子:这个钩子会在订单提交后的感谢页面触发,是处理订单后跳转的合适时机。 - 订单状态判断:代码中判断了
completed(已完成)和processing(处理中)两种状态,你可以根据自己的业务需求修改状态数组,比如只保留completed。 - 自定义URL替换:将
$custom_url的值替换为你实际需要跳转的地址即可。 - 无效订单处理:增加了订单ID有效性判断,避免报错。
注意:修改主题文件前建议先备份,或者使用子主题的functions.php,防止主题更新时代码丢失。
内容的提问来源于stack exchange,提问作者Dr mustafa
相关产品推荐
相关产品推荐

