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

文 / @WordPress主题

自定义感谢页面实现

我是小本本,今天我来给大家介绍怎么根据付款方式跳转到不同的订单感谢页面。

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

实现本文功能的主要代码

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

add_action('template_redirect','rudr_order_received_custom_payment_redirect');

function rudr_order_received_custom_payment_redirect(){
		
	//如果当前不在收到订单页面,直接返回,什么都不用做
	if(!is_wc_endpoint_url('order-received') || empty($_GET['key'])){
		return;	
	}
		
	//获取订单ID
	$order_id = wc_get_order_id_by_order_key($_GET['key']);
	
	//获取WC_Order对象的实例
	$order = wc_get_order($order_id);

	//检查该订单的付款方式
	if('cod' === $order->get_payment_method()){
		//如果是货到付款,重定向到一个自定义感谢页面
		wp_safe_redirect(site_url('/custom-page/'));
		exit;
	}

}

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

以上就是今天的分享了,希望大家可以学到有用的东西,也欢迎大家多多交流哦!

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。