DDR64.ru

Выделяем главное

Как добавить дополнительное поле в профиль пользователя WordPress

Возникла у меня необходимость добавить поле Предприятие, в профиль пользователя. Добавить поле в профиль пользователя WordPress Для решения данного вопроса можно воспользоваться двумя вариантами. Первый, это использовать стандартное решение, а именно использовать таблицу wp_usermeta, где хранится дополнительна мета информация про пользователя, например имя или фамилия.  В таблице wp_usermeta, есть три основных поля: user_id, где указывается id пользователя, к которому относится мета поле; meta_key, здесь прописывается название мета поля и поле meta_value, здесь прописывается значения поля.   Т.е, когда мы создадим дополнительное поле, то появится еще одна строка в таблице wp_usermeta, где будет прописано наше поле и его значение. За создание и обновление мета полей отвечает соответствующая функция в WordPress, а именно update_usermeta(). Второй вариант, это добавить поле в таблицу, например таблицу с пользователями wp_users.  Я опишу два варианта, отличие будет только в процессе записи данных, при обновлении профиля. А функция чтения будет одна, это стандартная функция получения мета данных пользователя: get_the_author_meta(). Дело в том, что функция get_the_author_meta() в начале читает таблицу wp_users, и ищет в этой таблице соответствующее поле, и если не находит, то ищет уже в wp_usermeta. Все изменения и дополнения будем производить в файле functions.php нашей (вашей 🙂 ) темы. Для этого создадим функцию show_profile_fields () чтения данных из мета поля, таблицы wp_usermeta. Этот код  создаст дополнительное поле Предприятие, и если есть заполненное поле company у пользователя, то отобразит его в настройках изменения профиля пользователя. Для того, чтобы сохранить введенные данные нашего созданного поля,  создадим еще одну функцию в functions.php. Функция save_profile_fields()  срабатывает, когда вы нажимаете Обновить профиль. В этот момент, данные передаются методом POST, это — $_POST[company]  значения которого перехватываются функцией save_profile_fields() , и сохраняются в wp_usermeta. Если есть желание создать полноценное поле в таблице, то создавайте в wp_users, дополнительное поле, например с помощью phpMyAdmin, а далее изменим функцию сохранения save_profile_fields() , поменяем код. Дополнение Если есть желание вывести столбец в общий список пользователей, то нужно добавить пару функций. В моем случае, как видно на рис., я добавил поле Предприятие. Добавить поле в профиль пользователя WordPress   Поделиться
Оценить статью
(Пока оценок нет)

Добавить комментарий через VK

Добавить комментарий

Войти с помощью: