WooCommerce 允许现有客户使用访客结账

您所在位置:

在典型的 WooCommerce 设置中,如果您通过设置禁用了访客结账,那么所有客户在结账时都必须登录现有账户或注册新账户。这将确保每个订单都与一个用户账户绑定–这对商店管理来说很好,但对用户体验来说并不总是理想的。

问题出在哪里?未登录的回头客将不得不记住他们的凭据或手动重设密码,以便再次下单。如果他们跳过登录,试图用电子邮件结账,就会收到可怕的 “您的电子邮件地址已经注册了一个账户 ”的错误信息,订单将无法通过。

幸好,有一种方法可以绕过这一切。只需一个简单的 PHP 代码段,您就可以让用户以客人身份结账,前提是他们的账单电子邮件与现有客户匹配。WooCommerce 会将订单分配给他们的账户–无需登录!

WooCommerce: 允许现有客户使用访客结账 (1)
WooCommerce: 允许现有客户使用访客结账 (1)

PHP 码段: 让现有客户以访客身份结账并将订单分配给客户

请注意:很明显,您的商店必须禁用访客结账,否则该代码段将毫无意义:

WooCommerce: 允许现有客户使用访客结账 (2)
WooCommerce: 允许现有客户使用访客结账 (2)

该代码段会检查结账时输入的账单电子邮件是否与现有的 WooCommerce 客户匹配。如果匹配,它就会悄悄告诉 WordPress,仅在该请求中将该客户视为 “已登录”–而无需实际登录或设置 cookie。

这样,WooCommerce 就不会尝试创建新账户(通常会出现 “电子邮件已存在 ”的错误),从而使结账顺利进行。

订单会自动分配给现有的客户账户。无需登录表单,无需重设密码,只需为回头客提供更顺畅的体验!

add_action( 'woocommerce_checkout_process', 'bbloomer_faux_login_for_existing_email' );
 
function bbloomer_faux_login_for_existing_email() {   
   if ( is_user_logged_in() ) return;
   if ( empty( $_POST['billing_email'] ) ) return;
   $email = sanitize_email( $_POST['billing_email'] );
   if ( email_exists( $email ) ) {
      $user = get_user_by( 'email', $email );      
      if ( $user ) {       
         wp_set_current_user( $user->ID );         
      }     
   }  
}

该代码段使用 woocommerce_checkout_process 操作钩子WooCommerce 结账流程。

它首先检查用户是否已登录–如果是,则什么也不做。然后,它从结账表单中抓取账单电子邮件并进行消毒。如果该电子邮件与 WordPress 现有用户匹配,它就会使用 wp_set_current_user() 为当前请求临时设置用户上下文。

这样,WooCommerce 就会认为顾客只是在结账期间登录,因此订单就会分配给正确的账户,而不会显示错误或要求输入密码。顾客在购买后将保持注销状态。

在哪里添加自定义代码?

您应将自定义 PHP 代码放在子主题的 functions.php 中,将自定义 CSS 代码放在 style.css 中。

除非您另有报告,否则这些代码仍然有效。要排除冲突,请暂时切换到 Storefront 主题,禁用除 WooCommerce 以外的所有插件,然后再次测试该代码段.

在领英上分享这篇文章
本篇文章内容
    Add a header to begin generating the table of contents

    联系我们

    郑州白帽子网络科技有限公司是一家专业做外贸网站建设,谷歌SEO优化、谷歌SEM推广公司。
    郑州白帽子网络科技微信图
    添加请说明需求
    郑州白帽子

    郑州白帽子

    郑州白帽子是一家提供外贸网站定制和白帽谷歌SEO优化的公司,我们会不定期的分享关于外贸的一些知识,以及如何进行外贸建站和谷歌SEO优化推广。我们的核心价值观是给客户提供价值,通过我们专业的服务让客户获得更多的询盘!了解更多关于外贸、外贸建站谷歌SEO优化推广的细节,欢迎联系我们!

    发表评论

    您的邮箱地址不会被公开。 必填项已用 * 标注

    更多文章
    什么是SEO中的分页 1
    谷歌SEO排名优化

    分页SEO最佳实践指南

    您所在位置:Home谷歌SEO排名优化分页SEO最佳实践指南在SEO中,分页是一种将内容拆分到多个页面上的方法

    反向链接审核 1
    谷歌SEO排名优化

    如何找到有毒反向链接

    您所在位置:Home谷歌SEO排名优化如何找到有毒反向链接毒性反向链接(或不良反向链接)是指可能对网站在搜索引

    滚动至顶部

    登陆

    注册