Функция get_edit_user_link()
используется для получения URL страницы редактирования профиля пользователя в админке WordPress. Если ID пользователя не указан, функция возвращает ссылку на редактирование текущего пользователя.
get_edit_user_link( int $user_id = null ): string
Параметры:
- $user_id (int, необязательный) — ID пользователя, для которого нужно получить ссылку. Если не указан, используется текущий пользователь.
- По умолчанию:
null
- По умолчанию:
Возвращаемое значение:
- string — URL страницы редактирования профиля пользователя в админке или пустая строка, если указанный пользователь не существует или текущий пользователь не имеет прав на его редактирование.
Пример 1: Получение ссылки на редактирование текущего пользователя
Если не передать параметр user_id
, функция вернет ссылку на редактирование профиля текущего пользователя:
<a href="<?php echo get_edit_user_link(); ?>">Редактировать мой профиль</a>
Результат:
Ссылка ведет на страницу профиля текущего пользователя в админке, например:https://example.com/wp-admin/profile.php
.
Пример 2: Получение ссылки на редактирование другого пользователя
Если необходимо получить ссылку на редактирование другого пользователя по его ID, можно передать соответствующий параметр:
$user_id = 123;
$edit_user_link = get_edit_user_link( $user_id );
echo '<a href="' . esc_url( $edit_user_link ) . '">Редактировать профиль пользователя 123</a>';
Результат:
Ссылка будет вести на страницу редактирования профиля пользователя с ID 123, например:https://example.com/wp-admin/user-edit.php?user_id=123
.
Пример 3: Получение ссылок на редактирование всех пользователей с ролью «редактор»
Этот пример показывает, как вывести ссылки на редактирование всех пользователей с ролью «редактор» из базы данных:
$editors_query = new WP_User_Query( array(
'role' => 'editor'
));
$editors = $editors_query->get_results();
if ( ! empty( $editors ) ) {
foreach ( $editors as $editor ) {
$userdata = get_userdata( $editor->ID );
echo '<a href="' . esc_url( get_edit_user_link( $editor->ID ) ) . '">' . esc_attr( $userdata->user_nicename ) . '</a><br>';
}
} else {
echo 'Редакторы не найдены.';
}
Результат:
Сгенерируются ссылки на страницы редактирования всех пользователей с ролью «редактор», например:https://example.com/wp-admin/user-edit.php?user_id=2
,https://example.com/wp-admin/user-edit.php?user_id=5
.
Важные моменты:
- Если текущий пользователь не имеет прав на редактирование указанного пользователя, функция вернет пустую строку.
- Функция полезна для создания интерфейсов в админке WordPress, где необходимо предоставить ссылки на редактирование профилей пользователей.
- Если вы хотите получить ссылку на редактирование собственного профиля, можно использовать
get_edit_profile_url()
.
Заключение
Функция get_edit_user_link()
в WordPress позволяет быстро получить URL страницы редактирования профиля как для текущего пользователя, так и для любого другого пользователя, используя его ID. Это удобный инструмент для создания админских интерфейсов, где требуется управление пользователями и редактирование их профилей.