WordPress教程

WooCommerce 检查用户是否有未完成支付的订单

也想出现在这里?联系我们
创客云

WooCommerce 是非常流行的 wordpress 商城插件,在实际使用中,可能同一个用户提交了订单以后,出于某些原因没有完成付款操作,然后再次提交了新订单。

如果你想避免这个问题,可以检查下当前用户(通过邮箱地址判断)是否有未完成支付的订单,如果有,就提示他登录账户完成支付,如下图所示:
WooCommerce 检查用户是否有未完成支付的订单-云模板
实现的完整代码如下所示:

也想出现在这里?联系我们
创客主机
  1. /**
  2.  * @snippet       Deny Checkout to User With Pending Orders | WooCommerce
  3.  * @how-to        Get CustomizeWoo.com FREE
  4.  * @sourcecode    https://businessbloomer.com/?p=55387
  5.  * @author        Rodolfo Melogli
  6.  * @testedwith    WooCommerce 3.0.5
  7.  */
  8.  
  9. add_action('woocommerce_after_checkout_validation', 'bbloomer_deny_checkout_user_pending_orders');
  10.  
  11. function bbloomer_deny_checkout_user_pending_orders( $posted ) {
  12. 	global $woocommerce;
  13. 	$checkout_email = $posted['billing_email'];
  14. 	$user = get_user_by( 'email', $checkout_email );
  15.  
  16. 	if ( ! empty( $user ) ) {
  17. 		$customer_orders = get_posts( array(
  18. 			'numberposts' => -1,
  19. 			'meta_key'    => '_customer_user',
  20. 			'meta_value'  => $user->ID,
  21.         'post_type'   => 'shop_order', // WP订单文章类型
  22.         'post_status' => 'wc-pending' // 获取未完成支付的订单
  23.     ) );
  24. 		foreach ( $customer_orders as $customer_order ) {
  25. 			$count++;
  26. 		}
  27. 		if ( $count > 0 ) {
  28. 			wc_add_notice( 'Sorry, please pay your pending orders first by logging into your account', 'error');
  29. 		}
  30. 	}
  31. }

先通过邮箱获取到用户 id,然后查询这个用户是否有未完成支付的订单,如果有,就返回错误提示。

也想出现在这里?联系我们
创客主机
服务范围 1、专业提供WordPress主题、插件汉化、优化、PHP环境配置等服务请详询在线客服
2、本站承接 WordPress、DedeCMS、ThinkPHP 等系统建站、仿站、开发、定制等服务
3、英文模板(主题)安装费用为120元/次,汉化主题首次免费安装(二次安装30元/次)
售后时间 周一至周五(法定节假日除外) 10:00-22:00
免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 2107117185@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!
也想出现在这里?联系我们
360uxc
(0)

本文由来源 WordPress大学,由 PetitQ 整理编辑!

也想出现在这里?联系我们
创客主机

热评文章

发表评论

精彩推荐

Medizin - 医疗器械医护用品外贸商店WooCommerce汉化主题

Envato Affiliates

本站承接 WordPress / DedeCMS / ThinkPHP 等
系统建站、仿站、开发、定制等业务!

嘿,欢迎咨询!