Профессиональная поддержка сайтов: разработка, дизайн, тексты, SEO и прочее от 500 Р   •   Реклама
1 285 просм
21 комм
Поделиться:

Разделение авторизации и регистрации по разным страницам в WooCommerce

По умолчанию (если мне не изменяет память), при создании интернет магазина в WordPress с помощью плагина WooCommerce формы авторизации и регистрации находятся на одной странице (/my-account/).

Все бы ничего, но мне это показалось не совсем хорошим вариантом на одном из проектов, который я вел. И задача встала – разделить эти формы по разным страницам. Делается все это очень просто. И как именно, я сейчас расскажу.

1. Подключитесь к вашему сайту по FTP.

2. Из папки плагина по адресу /wp-content/plugins/woocommerce/templates/myaccount/ загрузите к себе на компьютер файл form-login.php.

3. Далее идете в папку вашей темы (это адрес /wp-content/themes/название темы/) и здесь создаете подпапку woocommerce, в которой создаете еще одну подпапку – myaccount.

Это нужно для того, чтобы мы могли кастомизировать (изменять) функционал плагина, не затрагивая его. Если что-то пойдет не так, вы можете просто удалить эти папки, и работа плагина не нарушится. Плюсом ко всему, при обновлении плагина ваши изменения не пропадут.

Если эти папки уже есть в вашей теме – ничего страшного, просто переходите к следующему пункту.

4. После того, как в теме необходимые папки созданы, перейдите к редактированию ранее скачанного файла. В него вам необходимо внедрить такую конструкцию:

<?php

	if(isset($_GET["action"]) && $_GET["action"] == "register") {

?>

	Форма регистрации

<?php

	} else {

?>

	Форма авторизации

<?php

	}

?>

Код для формы входа и регистрации вы берете из этого же файла и просто вставляете в соответствующие места.

Ссылка на страницу входа останется прежней:

/my-account/

А вот вид ссылки на регистрацию станет:

/my-account/?action=register

По завершении всех правок файл с изменениями загружаете на сервер в созданную конечную папку (myaccount). После чего формы на вашем сайте разделятся по разным страницам.

21
комментарий
Гостям запрещено участвовать в обсуждениях сайта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
23.04 в 03:32

решил, перезалил сайт на хост)

  • 0

Макс, здравствуйте. Пришлите еще раз адрес проблемного сайта.

  • 0
22.04 в 18:22

тот сайт который закинул на хост перестал норм работать, т.е jquery не грузит, и на странице настроить захожу не работает.

  • 1
22.04 в 18:20

Артем, здравствуйте это снова я, знаю щас я не по теме но могли бы вы помочь кое счем ?

  • 1

Макс, В результате нашли ошибку. Спасибо, что написали. wink

  • 0
21.04 в 03:14

Эх, отлично. целый день мучался с этимlol

  • 0

Макс, была маленькая ошибка. В статье поправил - проверьте. В woocommerce не нужна папка templates

  • 0
21.04 в 02:50

и еще, я пока что не менял файл form-login.php ну в label прописал буквы чтобы проверить работает ли,

если получится узнать в чем дело, пж пропишите тут подробно.

  • 0

Макс, тогда тим вивер + доступы прямо в комментарии.

  • 0
21.04 в 02:00

сайт на локалке, Openserver... ну могу закинуть на хост и скинуть данные, вк или любой соц сеть скиньте свой, и самому уже интересно, вроде на товары работают изменения вот именно с form-login.php что-то не так)

  • 0

Макс, пришлите FTP и адрес сайта - постараюсь посмотреть в чем дело.

  • 0
21.04 в 01:39

я создал дочернюю тему темы ocean wp, папка woocommerce там была так как скачал в основную тему, туда добавил папку templates а туда папку myaccount и туда файл form-login.php но почему то не срабатывает этот файл а срабатывает файл который в самом плагине woocommerce, по идее должны файлы работать те которые в теме, и тема активна. может что-то не правильно делаю в самом файле ? даже если это так он же должен выводить ошибку но не файл который в самом плагине.

  • 0

Макс, очень странно, честно говоря.

Плагинов кэша нет? Или кэша самой темы?

  • 0
20.04 в 19:57

да, файл точно там и тема активна.. когда пишу в самом плагине код работает а когда пишу в файле в теме код не работает т.е срабатывает тот файл который в плагине.

  • 0

Макс, файл точно находится тут? /wp-content/themes/название темы/woocommerce/templates/myaccount

Точно ли в рабочую тему загрузили файл?

  • 1
20.04 в 18:21

Сделал все как написано на верху, но изменения не вступают в силу, страница так же выдает данные из родного файла form-login.php.. как сделать чтобы новый файл отображался ?

  • 0

Николя, ну и хорошо wink

  • 0
25.03 в 16:43

Разобрался! Вопрос решился настройкой плагинов безопасности. На локалке их не было, поэтому и проблем не было :)

  • 1
25.03 в 13:43

Спасибо за помощь! Настроил. Странно только, что на локальном сервере заработал без проблем, а вот на хостинге глючит редирект после регистрации. Должен перенаправить в Мой аккаунт (консоль). Но вместо этого не находит страницу. Что это может быть, не подскажите? confuse

  • 0

Николя,

Просто там, где выводится форма авторизации, в нужное место добавьте:

Нет аккаунта? <a href="/my-account/?action=register">Зарегистрироваться</a>

  • 1
18.03 в 12:54

Спасибо, заработало без проблем! Но вопрос: как сделать ссылку "Регистрация" в форме авторизации для новых пользователей?

  • 0
Подняться наверх
«Pandoge» - помощник веб-мастера