Функция is_user_admin()
определяет, выполняется ли текущий запрос на странице профиля пользователя в WordPress Multisite, например, на /wp-admin/user/
или /wp-admin/user/profile.php
. Этот условный тег полезен в многосайтовой сети для проверки страниц, связанных с настройками профиля пользователей.
is_user_admin(): bool
Замечания:
- Функция не проверяет, является ли текущий пользователь администратором. Для этого используйте
current_user_can()
. - Страницы профиля пользователя встречаются редко и, как правило, недоступны напрямую через интерфейс. Часто они появляются при обновлении WordPress или при просмотре информации о пользователе в сети Multisite.
Пример 1: Переключение URL для профиля пользователя в зависимости от контекста
В данном примере, взятом из функции get_edit_profile_url()
, URL профиля пользователя изменяется в зависимости от текущего раздела админки. Если пользователь находится на странице администрирования профиля, URL будет вести на /user/profile.php
.
if ( is_user_admin() ) {
$url = user_admin_url( 'profile.php', $scheme );
} elseif ( is_network_admin() ) {
$url = network_admin_url( 'profile.php', $scheme );
} else {
$url = get_dashboard_url( $user_id, 'profile.php', $scheme );
}
Этот код помогает динамически формировать ссылку на профиль пользователя для различных контекстов — сети, админки отдельного сайта или страницы пользователя.
Пример 2: Вывод уникального контента на странице профиля пользователя
Этот пример показывает, как с помощью is_user_admin()
выводить специальное сообщение или HTML-контент только на страницах профиля пользователя.
if ( is_user_admin() ) {
echo '<p>' . __( 'Welcome to your profile settings page!', 'textdomain' ) . '</p>';
} else {
echo '<p>' . __( 'You are not on the profile settings page.', 'textdomain' ) . '</p>';
}
Если пользователь находится в разделе /wp-admin/user/
, он увидит сообщение «Welcome to your profile settings page!», а на других страницах — сообщение «You are not on the profile settings page».
Пример 3: Условная загрузка CSS для страниц профиля пользователя
Здесь мы загружаем специальные стили только на странице профиля пользователя, используя is_user_admin()
, чтобы избежать загрузки стилей на других страницах админки.
function custom_user_admin_styles() {
if ( is_user_admin() ) {
wp_enqueue_style( 'user-admin-style', get_template_directory_uri() . '/css/user-admin-style.css' );
}
}
add_action( 'admin_enqueue_scripts', 'custom_user_admin_styles' );
Этот подход экономит ресурсы, загружая CSS-файл только при обращении к профилю пользователя.
Заключение
Функция is_user_admin()
помогает определить, находится ли текущий пользователь на странице профиля, и добавлять уникальный функционал, интерфейс или стили для раздела профиля. В сети Multisite функция полезна для администраторов и разработчиков, работающих с настройками пользователей и кастомизацией профиля.