Удаление регистрационной формы поля имени пользователя - 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_login_input" name="username" id="reg_username" placeholder="User name" value="<?php if ( ! empty( $_POST['username'] ) ) echo esc_attr( $_POST['username'] ); ?>" />
</p>
<?php endif; ?>

После этого поле не появляется на странице, но когда я ввожу адрес электронной почты и пароль для регистрации новой учетной записи, я получаю следующую ошибку: Ошибка: введите действительный идентификатор учетной записи.

Я думаю, удалить эту строку Brok Somethings в регистрационной форме ..

Любая помощь будет оценена


person colapsnux    schedule 25.09.2015    source источник
comment
А что вы будете использовать для имени пользователя? Без имени пользователя пользователи не смогут войти на сайт.   -  person Anand Shah    schedule 25.09.2015
comment
Я хочу, чтобы они могли войти в систему, указав адрес электронной почты и пароль. Это невозможно?   -  person colapsnux    schedule 25.09.2015
comment
Извините, я имею в виду, я хочу, чтобы они могли зарегистрироваться только при необходимости поля пользователя и поля электронной почты. Но я думаю, что для этого нужно много подумать.   -  person colapsnux    schedule 25.09.2015
comment
Какую версию WooCommerce вы используете? Сообщение об ошибке, которое вы опубликовали, похоже, указывает на что-то еще, в нем говорится «Идентификатор учетной записи», если имя пользователя не указано, оно должно быть указано «Имя пользователя», поэтому не уверен, что ваша тема делает что-то другое.   -  person Anand Shah    schedule 25.09.2015


Ответы (1)


Перейдите на вкладку WooCommerce -> Settings -> Accounts, прокрутите вниз до раздела «Создание учетной записи» и установите флажок «Автоматически создавать имя пользователя из электронной почты клиента», сохраните настройки.

Вы уже удалили поле имени пользователя из своей регистрационной формы, теперь все должно работать должным образом. После регистрации WooCommerce выведет имя пользователя из поля электронной почты, разделив его на символ @.

Так что, если кто-то зарегистрируется на [email protected], имя пользователя будет john. Если будет обнаружен существующий пользователь с таким же именем пользователя, имя пользователя будет изменено на john1.

ИЗМЕНИТЬ (спасибо @helgatheviking)

Как указала Кэти, вы также можете использовать следующий плагин

P.S: если вы используете старую версию плагина, опция автоматического создания имени пользователя из электронной почты может быть недоступна.

person Anand Shah    schedule 25.09.2015
comment
Что-то вроде этого плагина также может помочь. - person helgatheviking; 25.09.2015
comment
Я согласен с вами, безусловно, будет, и я собирался рекомендовать это. Однако функциональность, которую пытается достичь OP, доступна в ядре WooCommerce. Я лично предпочитаю не зависеть от внешнего плагина. - person Anand Shah; 25.09.2015
comment
Потрясающий! Это как раз то, что мне нужно. Спасибо, дружище :) - person colapsnux; 25.09.2015
comment
Всегда рад помочь :) Удачного кодирования. - person Anand Shah; 25.09.2015
comment
Круто, не думаю, что я понял, что это было в ядре WC. В этом случае вы, вероятно, правы, что не нужен второй плагин для дублирования той же функции. - person helgatheviking; 25.09.2015