WooCommerce根据付款方式不同跳转到不同的感谢页面

WooCommerce 允许我们开发自定义支付网关,有些网关可能会返回一些自定义信息,或者支付成功会需要用户做进一步的处理,这个时候显示一个自定义感谢页面非常有必要。

本文中,我们将为大家演示怎么根据付款方式不同跳转到不同的订单感谢页面。

下面的代码中,我们首先检查当前页面是否为收到订单页面,如果不是,什么都不做,直接返回。如果是,我们根据订单 ID 获取订单实例,然后获取该订单的付款方式,最后根据付款方式跳转到自定义感谢页面。

  1. add_action( 'template_redirect', 'rudr_order_received_custom_payment_redirect');
  2. function rudr_order_received_custom_payment_redirect(){
  3. // 如果当前不在收到订单页面,直接返回,什么都不用做
  4. if( ! is_wc_endpoint_url( 'order-received' ) || empty( $_GET[ 'key' ] ) ) {
  5. return;
  6. }
  7. // 获取订单ID
  8. $order_id = wc_get_order_id_by_order_key( $_GET[ 'key' ] );
  9. // 获取 WC_Order 对象的实例
  10. $order = wc_get_order( $order_id );
  11. // 检查该订单的付款方式
  12. if( 'cod' === $order->get_payment_method() ) {
  13. // 如果是货到付款,重定向到一个自定义感谢页面
  14. wp_safe_redirect( site_url( '/custom-page/' ) );
  15. exit;
  16. }
  17. }

除了根据付款方式,我们可以举一反三,只要是订单中有的数据,我们都可以拿来做比较,跳转到需要的页面。例如订单金额超过 10000,跳转到升级为 VIP 的页面。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WooCommerce微信小程序开发,为Rest API补充图片信息

2022-9-14 4:58:28

WordPress教程

WordPress菜单中的分类自动添加子分类菜单

2022-9-14 13:58:39

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索