首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许使用字段billing_cpf或billing_cnpj - Woocommerce登录

允许使用字段billing_cpf或billing_cnpj - Woocommerce登录
EN

Stack Overflow用户
提问于 2016-10-24 13:54:57
回答 1查看 200关注 0票数 0

如何允许在电子邮件或用户名以外的字段( billing_cpfbilling_cnpj )登录WooCommerce?

我使用巴西的WooCommerce额外签出字段来添加这个字段。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-27 16:36:03

结果:

代码语言:javascript
复制
add_filter('authenticate', 'login_cpf_cnpj', 10, 3);
function login_cpf_cnpj($user, $username, $password){
   if ($username == '' || $password == '') return;

   global $wpdb;
   if ($user) {
    return $user;
   }
   $user_row = $wpdb->get_results(
   $wpdb->prepare( "SELECT user_id FROM {$wpdb->prefix}usermeta 
                 WHERE ( meta_key = 'billing_cpf' AND meta_value = '%s') 
                 OR ( meta_key = 'billing_cnpj' AND meta_value = '%s' )",
    $username, $username ) );

   if (!empty($user_row)) {
      $user = get_user_by('ID', $user_row[0]->user_id);
      if ($user && wp_check_password($password, $user->user_pass, $user_row[0]->user_id)) {
          return $user;
      } else { ?>
         <script>
            alert('Wrong Password!');
            window.location = "<?php get_permalink(); ?>";
        </script>
     <?php
     }
   }
   return $user;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40220301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档