n-wp.ru — блог о WordPress

Как создать страницу для редактирования профиля пользователя

Пример создания отдельной страницы для редактированиями пользователями своего профиля. Доступ к ней имеют только зарегистрированные пользователи.

Так как вход в административную часть блога сопровождается потенциальными рисками для безопасности блога (забудешь что-нибудь закрыть для пользователй, и потом бед не оберешься), то многие администраторы вообще закрывают туда вход всем, кроме себя. Однако если регистрация в блоге все же необходима, то встает проблема с редактированием пользователями своих данных. Если для регистрации не нужно попадать внурь блога, то чтобы изменить свой профиль, пользователь как-то должен добраться до необходимых для этого полей. Дать возможность отредактировать свои данные, изменить пароль можно, воспользовавшись специальными плагинами (например, WP User Frontend), либо создав отдельную страницу.

Чтобы создать сделать страницу для редактирования пользователями своих данных профиля, нужно создать шаблон такой страницы. Для этого создайте в папке используемой темы файл user-profile.php, и вставьте в него следующий код:

После этого зайдите в раздел страниц и создайте новую страницу. При создании страницы выберите шаблон User Profile. Все, страница редактирования профиля создана. Доступ к ней будут иметь только зарегистрированные пользователи.

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

tiaurus

Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

11 комментариев

  • Здравствуйте, tiaurus. А Вы проверяли работоспособность кода? У меня кнопка сохранить изменения не хочет работать. Может быть будут мысли, как заставить её сохранять данные?

  • У меня данный код работает, но если в самом начале подключить get_header() ты при сохранении формы всплывает ошибка

  • Доброго времени суток. Честно сказать информация скудная. Т.к допустим я не совсем понял, создал файл с именем user-profile.php, загрузил в используемую тему, создал страницу, но вот как сделать редирект на этот файл и не описано: «Для того, чтобы страница редактирования профиля была похожа на все остальные страницы блога, для ее создания за основу можно взять шаблон обычной страницы page.php» вопрос как это сделать? Просто вы уж расписываете делайте это как-то с большим энтузиазмом. Ведь не все люди могут понять с полу слова

  • Добрый день.
    Все сделала, получилось, в дизайн «вписала».
    Страница находится по адресу http://site.ru/profile
    Но у меня возник вопрос. Сейчас, если заходишь на страницу не авторизовавшись (а я уверена, что подписчики так и будут заходить), то выходит просто надпись «Вы должны быть авторизованы». Не хочется их отправлять на /wp-login.php. Подскажите, пожалуйста, как сделать, чтобы сразу на этой странице форма авторизации была? То есть, если заходит не авторизованный участник, то он вводит логин/пароль и ему становятся видны, собственно, поля профиля. Буду очень благодарна!

    • Можно сделать так: если пользователь не авторизован, то открывать страницу входа, и сразу после входа делать редирект на страницу профиля. Для этого нужно в строке 48 заменить

      на

      Если пользователь не определен, то этот код вместо страницы профиля с надписью “Вы должны быть авторизованы” откроет стандартную страницу входа. Как только пользователь заполнит на ней все необходимые для входа поля, уже залогиненным он будет переправлен на страницу профиля.

  • Здравствуйте! А как вывести реферальную ссылку и информацию о рефералах от плагина Affiliate Plus на странице «Мой аккаунт» (создается автоматически плагином woocommerce)?
    Affiliate Plus всю информацию выводит в профиле пользователя «внутри» вордпресс, в админке. Не получилось вывести, напротив надписи «Ваша ссылка» пусто, сколько рефералов — пусто. Помогите решить?