#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. Выберите существующую форму и настройте поля в соответствии с вашими требованиями.