当前位置: 首页 > 知识库问答 >
问题:

WooCommerce基于支付方式的订单接收重定向

查学文
2023-03-14

通常在WooCommerce中,一旦付款完成,提交的订单将重定向到/order received/

是否可以将客户重定向到特定付款方式的自定义页面?

例如:

Payment method 1 -> /order-received/
Payment method 2 -> /custom-page/
Payment method 3 -> /order-received/

共有2个答案

董联
2023-03-14

一个小的修正。

“退出”必须在最后一个条件内

add_action( 'template_redirect', 'thankyou_custom_payment_redirect');
    function thankyou_custom_payment_redirect(){
    if ( is_wc_endpoint_url( 'order-received' ) ) {
        global $wp;

        // Get the order ID
        $order_id =  intval( str_replace( 'checkout/order-received/', '', $wp->request ) );

        // Get an instance of the WC_Order object
        $order = wc_get_order( $order_id );

        // Set HERE your Payment Gateway ID
        if( $order->get_payment_method() == 'cheque' ){

            // Set HERE your custom URL path
            wp_redirect( home_url( '/custom-page/' ) );
            exit(); // always exit
        }
    }
}
蒙洛华
2023-03-14

通过在template\u redirect中挂接一个自定义函数,使用条件函数is\u wc\u endpoint\u url()将客户重定向到特定页面:

add_action( 'template_redirect', 'thankyou_custom_payment_redirect');
function thankyou_custom_payment_redirect(){
    if ( is_wc_endpoint_url( 'order-received' ) ) {
        global $wp;

        // Get the order ID
        $order_id =  intval( str_replace( 'checkout/order-received/', '', $wp->request ) );

        // Get an instance of the WC_Order object
        $order = wc_get_order( $order_id );

        // Set HERE your Payment Gateway ID
        if( $order->get_payment_method() == 'cheque' ){
            
            // Set HERE your custom URL path
            wp_redirect( home_url( '/custom-page/' ) );
            exit(); // always exit
        }
    }
}

代码进入函数。活动子主题(或主题)或任何插件文件中的php文件。

此代码经过测试并有效。

如何获取支付网关ID(WC设置

 类似资料:
  • 如何根据订单的发货方式自定义订单感谢页面?因此,例如,如果客户使用请求交付选项,感谢页面将显示不同的标题。

  • 本文要介绍一款免费插件,可以实现根据用户选择的付款方式收取额外费用的功能。例如,paypal对商户收的钱按百分比收费,每一笔交易还可能有固定费用,希望这些费用由客户承担,那千万不要错过Payment Gateway Based Fees and Discounts for WooCommerce插件。 如何设置额外费用 先简单描述一下插件的功能: 可以全局指定费用,可以根据每个支付接口单独设置,也

  • 支付方式是所有电商程序的重头戏,卖家最关心的是怎么让客户的钱进到自己的账户。WooCommerce对支付方式的扩展有详细的介绍,对电商一窍不通的我决定先从文档开始学习。要知道如何在WooCommerce插件中增加支付接口,就要研究它的Payment Gateway API。 Payment Gateway API官方文档 支付网关分类 支付网关通常用一下的几种形式呈现: 基于表单—— 用户必须点击

  • 在Woocommerce中,我需要停止发送给客户的电子邮件通知,除非payment_method是BACS(直接银行转帐)。 我尝试在活动主题的function.php文件中执行以下操作: 但不管用。感谢任何帮助。

  • 通过 BaaS SDK 提供的 wx.BaaS.order(OBJECT) 方法, 可查询到交易的详细信息。典型的使用场景为: 调用 wx.BaaS.pay(object) 发起支付, 在成功回调中获取到 transactionID, 在要路由到新的页面时带上此 ID, 在新页面的 onLoad 方法中获取到该 ID, 从而使用此 ID 获取交易的详细信息。 OBJECT 参数说明 参数 类型 必

  • 问题内容: 通常,wooCommerce应该自动完成虚拟产品的订单。但是事实并非如此,这是一个实际的问题,即使是BUG之类的。 因此,在这一点上,您可以找到一些有用的东西(但不是很方便): 1)一段代码 (您可以在wooCommerce文档中找到): 但是此代码段不适用于 BACS , 货到付款 和 支票* 付款方式。Paypal和信用卡网关的付款方式都可以。 BACS 是直接银行转帐付款方式 还