X
Заказать услугу

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

Плагины и Шаблоны для Wordpress
  • 2018-12-12
  • 1529 просмотр

    2 комментарий

  • Дизайн и разработка сайта

Доброго времени суток. 🙂

Сегодня опять будем работать с 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 выведутся данные.

Таким самым образом, можно добавить несколько полей, код по сути тот же самый, просто добавляете строки с ключами и названиями, ну и вызываете потом данные в нужном месте.

add_filter('user_contactmethods', 'ved_user_contactmethods');
function ved_user_contactmethods($user_contactmethods){
  $user_contactmethods['position_user'] = 'Должность';
  $user_contactmethods['hobby_user'] = 'Хобби';
  return $user_contactmethods;
}

Как видите мы еще добавили и поле Хобби, с ключом hobby_user. Ключи и название можете задавать какие хотите, главное, чтобы они не были одинаковыми в разных полях, иначе будет ошибка. Ну и выводим так же, плюч, можете добавить комментарий:

<p>Должность: <?php the_author_meta('position_user'); ?></p>
<p>Хобби: <?php the_author_meta('hobby_user'); ?></p>

В данных примерах функции заключены в теги PHP для вставки в HTML код. Если в вашей теме везде используется PHP код, то можно без тегов, но используя правила PHP. Например так:

echo '<p>Должность: ';
echo the_author_meta('position_user');
echo '</p>';
echo '<p>Хобби: ';
echo the_author_meta('hobby_user');
echo '</p>';

Как видите, нет ничего сложного. С помощью данного метода, вы легко добавите нужную информацию, про авторов блога.

На этом все, спасибо за внимание. 🙂

Если Вам был полезным мой труд, можете поддержать сайт, обменяться со мной текстовыми ссылками или посмотреть рекламку, что займет 2 минуты :)

Оцените статью
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 5, в среднем: 5 из 5
Читайте также
Опубликовано 2 комментария

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

Чтобы оставить комментарий - заполните поля ниже. Ваш e-mail не будет опубликован. Все поля обязательны

Нажмите, чтобы добавить код в комментарий. Далее добавьте свой код внутрь тегов <code> тут код </code>
Я ознакомлен(а) с политикой конфиденциальности и даю согласие на обработку персональных данных*

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.