Php 删除用户名字段注册表-Woocommerce

Php 删除用户名字段注册表-Woocommerce,php,html,woocommerce,Php,Html,Woocommerce,如何在woocommerce中删除注册表中的用户名字段 我试图从woocommerce/myaccount/login form.php中删除一些行 <?php if ('no' === get_option( 'woocommerce_registration_generate_username' ) ) : ?> <p class="form-row form-row-wide"> <input type="text" class="customer_logi

如何在woocommerce中删除注册表中的用户名字段

我试图从woocommerce/myaccount/login form.php中删除一些行

<?php if ('no' === get_option( 'woocommerce_registration_generate_username' ) ) : ?>

<p class="form-row form-row-wide">
<input type="text" class="customer_login_input" name="username" id="reg_username" placeholder="User name" value="<?php if ( ! empty( $_POST['username'] ) ) echo esc_attr( $_POST['username'] ); ?>" />
</p>
<?php endif; ?>


导航到
WooCommerce->Settings->Accounts
选项卡,向下滚动到“Account Creation”部分,勾选“从客户电子邮件自动生成用户名”复选框,保存您的设置

您已经从注册表中删除了用户名字段,现在一切正常。注册后,WooCommerce将通过在@symbol上拆分从电子邮件字段派生用户名

所以如果有人在john@example.com,用户名将为john。如果找到具有相同用户名的现有用户,用户名将更改为john1

编辑(谢谢@helgatheviking)

正如Kathy所指出的,您还可以使用以下命令


注:如果您使用的是较旧版本的插件,那么从电子邮件自动生成用户名的选项可能不可用。

您将使用什么作为用户名?如果没有用户名,用户将无法登录网站。我希望他们可以使用电子邮件和密码登录,这样做是不可能的?对不起,我的意思是,我希望他们只能使用用户字段和电子邮件字段的必要性进行注册。但我认为我们应该做很多思考来做到这一点。你使用的是什么版本的WooCommerce?您发布的错误消息似乎指向其他内容,它显示“帐户ID”,如果用户名不存在,则应显示“用户名”,因此不确定您的主题是否有不同之处。类似的内容也可能会有所帮助。我同意您的看法,肯定会的,我打算推荐它。不过,OP试图实现的功能在WooCommerce core中可用。我个人的偏好是不依赖外部插件。太棒了!这正是我需要的。谢谢你,伙计:)总是很乐意帮忙:)快乐的编码。酷,我想我没有意识到它在WC核心。在这种情况下,您可能不需要第二个插件来复制相同的功能。