Как добавить новое поле в профиль пользователя WordPress
Віталий
Доброго времени суток. 🙂
Сегодня опять будем работать с WordPress, а вернее дорабатывать его стандартный функционал. Если конкретно, то я покажу как добавить одно или несколько новых полей в профиль пользователя. У WordPress есть свои стандартные поля, но иногда их не хватает для некоторых проектов. В одном из моих последних заказов, для авторов статей, нужно было добавить их должность, чтобы потом вывести ее на странице автора.
Осуществить задуманное мы сможем с помощью фильтра user_contactmethods. Вам нужно просто добавить функцию в пользовательский файл функций - function.php. Если вы легко работаете с кодом WordPress, то добавляйте новый код, куда угодно, если же нет, то в самый конец перед закрывающим тегом php - ?>, если его нет, то просто в самый конец.
// Поле должность
add_filter('user_contactmethods', 'ved_user_contactmethods');
function ved_user_contactmethods($user_contactmethods){
$user_contactmethods['position_user'] = 'Должность';
return $user_contactmethods;
}
По сути, все что вам нужно, в третей строке. Именно она и создает новое поле. В ней указан ключ - position_user и название Должность, которое выведется в настройках профиля. В итоге, на странице профиля вы увидите такое поле:
Просто добавить поле на страницу профиля не достаточно, нужно еще и вывести его на сайте. Делается это на странице автора, в файле author.php, ну или там, где у вас выводится информация об авторе. В месте где хотите видеть строку с данными поля, добавляете такую строку:
Данная строка добавляется только внутри цикла или на странице автора. В общем там, где есть смысл выводить информацию об авторе записи.
<?php the_author_meta('position_user'); ?>
Как видите, указывается ключ position_user и с помощью the_author_meta выведутся данные.
Таким самым образом, можно добавить несколько полей, код по сути тот же самый, просто добавляете строки с ключами и названиями, ну и вызываете потом данные в нужном месте.
Как видите мы еще добавили и поле Хобби, с ключом hobby_user. Ключи и название можете задавать какие хотите, главное, чтобы они не были одинаковыми в разных полях, иначе будет ошибка. Ну и выводим так же, плюч, можете добавить комментарий:
В данных примерах функции заключены в теги PHP для вставки в HTML код. Если в вашей теме везде используется PHP код, то можно без тегов, но используя правила PHP. Например так: