17713433920 info@mac163.com

导语:最近要用WooCommerce做一个虚拟卡密的网站,我们希望到达的效果是,用户通过WooCommerce付款成功后,然后自动跳转到取卡密的页面。在WooCommerce中配置虚拟商品没有问题,就是卡在付款跳转到取卡密页面的问题上,下面就说说这个问题的解决方法。

如何跳转虚拟商品取卡密页面上
为了方便调试建议大家先装一个 test gateway for woocommerce 的插件,这个插件可以在WordPress的官网上搜索到,它的作用就是可以通过测试支付网关马上完成付款,不需要每次都用支付宝或贝宝来付款测试。

面临的问题
现在面临的问题是我们可以在产品中设置虚拟产品,虚拟产品设置很简单,勾选虚拟商品选项就可以了,但它没有地方来配置卡密,当我们购买虚拟产品支付完成后,跳转到的页面是WooCommerce的thankyou.php所生成的页面,没有办法获得卡密。

解决方法
所以,现在有两种思路,一种是修改thankyou.php,让它具有从数据库来获取卡密的功能。第二种就是,自己写一个取卡密的页面,然后支付完成后,直接跳转到这个页面。

第一种方法,我们没有试试过,只是设想:)。我们使用了第二种方法,跳转到自己的卡密页面。

至于怎么样来生成卡密,这个问题在这里就不说了,只说说支付完成后怎么跳转。

实现代码
将下面的代码放置在functions.php里就可以实现跳转。

 function wcs_redirect_product_based ( $order_id ){
	$order = wc_get_order( $order_id );
	foreach( $order->get_items() as $item ) {
		$_product = wc_get_product( $item['product_id'] );
		// 添加你自己的虚拟卡密产品的product_id
		if ( $item['product_id'] == 44 ) {
		// 将下面的链接改成你自己需要的链接
		   wp_redirect('https://www.wordpressleaf.com/);
		}
	}
}
add_action( 'woocommerce_thankyou', 'wcs_redirect_product_based' );

这段代码的作用就是当你的虚拟产品支付完成后,会跳转到自己定义的取卡密页面上去。


微信二维码

微信扫描二维码联系我们!
我们在微信上24小时期待你的声音
提供外贸路由器设备产品,轻松翻墙,解答:WP主题推荐,WP网站建设,Google SEO,百度SEO,专业服务器环境搭建等!


需要提供WordPress主题/插件的汉化服务可以随时联系我们!另外成品WordPress网站以及半成品WordPress网站建设,海外Google SEO优化托管服务,百度SEO优化托管服务,Centos/Debian服务器WP专用环境搭建,WP缓存服务器搭建,我们都是你的首选,拥有多年WP开源程序服务经验,我们一直在坚持客户体验,没有最好,只有更好!
回到顶部