Добавляем и удаляем поля в блоке «Контакты» в профилях пользователей

В текущей версии WordPress на момент написания этого поста в блоке «Контакты» есть всего два поля – «Email» и «Сайт», поэтому в этом уроке я покажу вам, как добавить туда свои собственные поля.

Также рекомендую вам свой видеокурс по натяжке готовой HTML-вёрстки на WordPress.

Добавление полей в блок «Контакты»

Вообще у меня на сайте есть полноценный урок по добавлению полей в профили пользователя.

Но так как страницу вконтакте или скайп (а также номер сотового) в профиле нужно отображать под вкладкой «Контакты» а не под «Дополнительная информация» то лучше всего воспользоваться хуком user_contactmethods.

/**
 * @snippet       Добавление полей в блок "Контакты" в профилях пользователей
 * @author        Миша Рудрастых
 * @url           https://misha.agency/wordpress/addtitional-methods-user-profiles.html
 */
add_filter( 'user_contactmethods', 'true_add_contacts', 25 );
 
function true_add_contacts( $contactmethods ) {
 
	$contactmethods[ 'vk' ] = 'Ваша страница вконтакте';
	$contactmethods[ 'mobile' ] = 'Номер сотового';
	$contactmethods[ 'skype' ] = 'Скайп';
	return $contactmethods;
 
}

Не знаете, куда вставлять код?

В результате чего у вас получится:

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

Для того, чтобы получить значения полей, вы можете воспользоваться функциями get_the_author_meta() и get_user_meta(). Например так:

$user_skype = get_the_author_meta( 'skype', $user_id );
$user_skype = get_user_meta( $user_id, 'skype', true );

Удаление стандартных полей из блока «Контакты» (старые версии WordPress)

И сразу же бросаются в глаза стандартные вордпрессовские поля, я имею ввиду AIM, Yahoo IM, Jabber / Google Talk. Но в свежих версиях WordPress этих полей и так нет!

стандартные поля Aim, Jabber, Google Talk

Почему-то мне кажется, что мало кто их использует (именно поэтому их и удалили в последующих версиях WordPress), а теперь избавимся от них:

add_filter('user_contactmethods', 'true_hide_contacts', 10, 1);
 
function true_hide_contacts( $contactmethods ) {
	unset( $contactmethods[ 'aim' ] );
	unset( $contactmethods[ 'jabber' ] );
	unset( $contactmethods[ 'yim' ] );
	return $contactmethods;
}

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

Комментарии — 48

Комментирование этого поста более не доступно.