WooCommerce / Wordpress - 自动使用整个电子邮件作为用户名?
Posted
技术标签:
【中文标题】WooCommerce / Wordpress - 自动使用整个电子邮件作为用户名?【英文标题】:WooCommerce / Wordpress - automatically use the entire email as username? 【发布时间】:2017-08-17 13:16:53 【问题描述】:我在这里完成了一个新的 WooCommerce 构建,我想我会设置它让客户只使用他们的电子邮件地址作为登录凭据,希望我可以退休然后隐藏对 Wordpress 用户名记录的所有引用.事实证明这很困难!
我的主题仅允许客户在结帐时注册 - 因此他们在表单末尾附近勾选“创建帐户”,并提示输入帐户用户名(需要更改此标题)和密码...或如果 WooCommerce 设置为自动生成用户名,则只要求他们输入密码。我已禁用从设置中的电子邮件生成用户名,因为我不想将完整的电子邮件地址写入数据库的用户名字段,而不是 WooCommerce 使用的截断版本
我看到了两种方法,但想在这里提出一些可行的建议。
我想到的一种方法是在结帐时浏览在页面上方输入的电子邮件地址,并在用户勾选“创建帐户”时将其复制到“帐户用户名”字段中。我想这需要某种 javascript hack 才能工作。我已在用户名字段中手动输入完整的电子邮件地址,它被正确接受并写入数据库用户名字段。
我能想到的第二种方法是在结帐时隐藏“帐户用户名”字段(或将 WooCommerce 设置为再次生成用户名,无论如何都会隐藏该字段)......然后将完整的电子邮件地址写入用户名创建帐户时数据库中的字段。我不知道可以在哪里执行这样的事情(我想这不仅仅是将一些代码写入functions.php),但我认为这样的方法比我上面提到的javascript hack更可靠。
我已经尝试过很长一段时间,通过在各种登录窗格、错误消息以及注册和密码重置电子邮件中将所有对“用户名”的文本引用替换为“电子邮件地址”,但这是一种糟糕的方法。如果使用完整的电子邮件地址而不是用户名,WooCommerce 实际上会调整引用,所以我只是在创建不必要的工作。让电子邮件地址投入使用是我遇到的问题。
大家有什么想法或建议可以解决这个问题吗?我已经阅读了许多其他人的问题和答案,但其中大多数似乎满足于在这里或那里替换文本参考。我实际上想将完整的电子邮件地址写入数据库用户名字段......从而使用户名无效
谢谢
【问题讨论】:
这有帮助吗? premium.wpmudev.org/blog/email-login @Rich 很难说。我已经禁用了我自己的所有调整并应用了您链接到的 sn-ps,但它似乎在很大程度上模仿了我在替换一些文本参考时所做的工作。但是,用户名字段仍然按原样出现在结帐时......这并没有多大用处,它仍然允许创建用户名,因此它不会用电子邮件地址覆盖任何内容 另外@Rich,似乎会为密码重置和现有帐户登录造成问题...链接 URL 上的 cmets 似乎暗示其他人也可能是一个问题 【参考方案1】:回答我自己的问题...当客户勾选创建帐户
这绝不是万无一失的,但它可以满足我在台式机和移动设备上的需求。未启动的客户仍然可以清除自动填充的用户名字段并输入除电子邮件地址以外的其他内容,因此我需要查看是否可以以某种方式禁用该字段...将其灰显
我也继续将所有对用户名和电子邮件地址或用户名的引用替换为电子邮件地址。这比 Javascript hack 更难!
任何感兴趣的人的脚本:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function ()
function onchange()
var box1 = $('#billing_email');
var box2 = $('#account_username');
box2.val(box1.val());
$('#billing_email').on('change', onchange);
);</script>
[woocommerce_checkout]
我使用标准的 Wordpress 编辑器将其直接插入到结帐页面中。我不确定在哪里找到代码,但它可能来自this answer
【讨论】:
以上是关于WooCommerce / Wordpress - 自动使用整个电子邮件作为用户名?的主要内容,如果未能解决你的问题,请参考以下文章
Woocommerce / Wordpress 将按钮添加到页面
从哪里开始开发 WordPress / WooCommerce 主题? [关闭]
wordpress中的WooCommerce购物车结帐页面中的国家列表里面怎么修改
从 WordPress 获取 WooCommerce 产品类别