Настройка внешнего вида страницы Профиля.

Страница Профиль в Панели управления сайта содержит определенное количество информации, которой Вы почти никогда не пользуетесь. Особенно если сайт сделан для клиентов, эти поля являются отвлекающим фактором. Я придерживаюсь правила: «Чем проще — тем лучше».

Сегодня мы уберем лишние поля, тем самым сделав страницу Пользователя более аккуратной.

Начнем с поля Цветовая схема.

Цветовая схема

Лично я ни разу не использовал возможность выбора цветовой схемы админки. Удалим ее. Для этого в файл functions.php необходимо добавить следующий код:

function remove_admin_color_scheme() {
    global $_wp_admin_css_colors;
    $_wp_admin_css_colors = 0;
}
add_action('admin_head', 'remove_admin_color_scheme');

Дальше разберемся с разделом Контакты. AIM, Yahoo IM, Jabber / Google Talk и Google+, эти «полезные» службы только отвлекают.

02

Предлагаю удалить их все. Для этого дописываем следующий код в functions.php:

function manage_profile_details( $contactmethods ) {
    // Удаление полей
    unset($contactmethods['aim']); // AIM
    unset($contactmethods['yim']); // Yahoo IM
    unset($contactmethods['jabber']); // Jabber / Google Talk
    unset($contactmethods['googleplus']); // Google+
    return $contactmethods;
}
add_filter('user_contactmethods','manage_profile_details',10,1);

Также есть возможность добавить контактное поле в список Контактов. Добавим ссылку на профиль в соцсети Вконтакте. Для этого необходимо изменить предыдущий код. После изменения он будет выглядеть следующим образом:

function manage_profile_details( $contactmethods ) {
    // Удаление полей
    unset($contactmethods['aim']); // AIM
    unset($contactmethods['yim']); // Yahoo IM
    unset($contactmethods['jabber']); // Jabber / Google Talk
    unset($contactmethods['googleplus']); // Google+
    
    // Добавление полей
    $contactmethods['vk'] = __('Вконтакте')); // Вконтакте
    return $contactmethods;
}
add_filter('user_contactmethods','manage_profile_details',10,1);

После проделанных манипуляций, блок Контакты будет выглядеть так:

03

Чтобы получить значение введенное в поле Вконтакте используйте следующий код:

$vk_contact = get_the_author_meta('vk');

Если Вы желаете, чтобы проделанные операции относились ко всем пользователям, но не касались Администратора сайта, то необходимо обернуть нужнй код в следующую конструкцию:

if (!current_user_can('manage_options')){
    // Вставьте необходимый код сюда
}