Могу ли я создать пользовательскую регистрационную форму WordPress?

#php #wordpress

#php #wordpress

Вопрос:

Я хочу иметь в WordPress два вида регистрационных форм. Форма по умолчанию, скажем, для посетителей, и пользовательская форма для некоторых более привилегированных пользователей. Как я могу создать пользовательскую форму? Мне особенно нужна часть с ролями, пользовательская регистрационная форма будет иметь другую роль для пользователей, которые будут в ней регистрироваться. Как я могу это сделать? Я думаю, мне нужно что-то вроде (это просто выдумка, не знаю реальных функций WordPress)

Пример:

 //the following variables will be a part of the form that will stand above this function
 add_user('$username','$mail','$location','$region','$role');
//where $role can be {1(subscribers),2(contrib.),3(authors),4(editor),5(admin)}
  

Могу ли я сделать что-то подобное?

Ответ №1:

Вы можете использовать гравитационные формы , чтобы создать свой регистрационной формы с регистрации нового пользователя и указать пользовательские мета (в том числе и по ролям.) Если вы хотите создать пользовательскую форму без плагина, вам не следует пытаться добавлять пользователей непосредственно в базу данных, вместо этого вам следует использовать wp_create_user функцию. Из WordPress Codex:

Функция wp_create_user позволяет вам вставить нового пользователя в базу данных WordPress. Он использует класс $ wpdb для экранирования значений переменных, подготавливая его для вставки в базу данных. Затем функция PHP compact() используется для создания массива с этими значениями. Чтобы создать пользователя с дополнительными параметрами, используйте wp_insert_user().

Комментарии:

1. Любой бесплатный вариант? В любом случае спасибо:)

2. @user3776900 Вы можете использовать приведенное выше объяснение для создания своей собственной формы, просто это потребует гораздо больше усилий.

Ответ №2:

Вы можете установить модуль webform в WordPress. Выберите существующую форму и настройте поля в соответствии с вашими требованиями.