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

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

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

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

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

Но так как страницу вконтакте или скайп (а также номер сотового) в профиле нужно отображать под вкладкой «Контакты» а не под «Дополнительная информация» то лучше всего воспользоваться хуком 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;
 
}

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

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

Для того, чтобы получить значения полей, вы можете воспользоваться функциями 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 этих полей и так нет!

Почему-то мне кажется, что мало кто их использует (именно поэтому их и удалили в последующих версиях 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;
}
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии