get_edit_user_link()WP 3.5.0

Получает URL страницы профиля пользователя в админке.

Используйте get_edit_profile_url(), когда нужно получить просто URL профиля в админке.

Работает на основе: self_admin_url(), get_edit_profile_url()
Хуки из функции

Возвращает

Строку. URL страницы редактирования пользователя в админке.

Функция вернет пустую строку, когда:

  • Текущего пользователь не имеет права редактировать указанного пользователя.
  • Указанного пользователя не существует в БД.

Использование

get_edit_user_link( $user_id );
$user_id(число)
ID пользователя.
По умолчанию: null (текущий юзер)

Примеры

0

#1 Получим URL страницы редактирования пользователя в админке

$user_id = 99;
$edit_user_link = get_edit_user_link( $user_id );
// получим: https://example.com/wp-admin/user-edit.php?user_id=99

Если не указан ID или указать ID текущего юзера, то будет получен URL профиля текущего пользователя:

$edit_user_link = get_edit_user_link();
$edit_user_link = get_edit_user_link( 1 ); // 1 - текущий юзер
// https://example.com/wp-admin/profile.php
0

#2 Ссылка на редактирование текущего пользователя

<a href="<?php echo get_edit_user_link(); ?>">name</a>

Список изменений

С версии 3.5.0 Введена.

Код get_edit_user_link() WP 6.5.2

function get_edit_user_link( $user_id = null ) {
	if ( ! $user_id ) {
		$user_id = get_current_user_id();
	}

	if ( empty( $user_id ) || ! current_user_can( 'edit_user', $user_id ) ) {
		return '';
	}

	$user = get_userdata( $user_id );

	if ( ! $user ) {
		return '';
	}

	if ( get_current_user_id() == $user->ID ) {
		$link = get_edit_profile_url( $user->ID );
	} else {
		$link = add_query_arg( 'user_id', $user->ID, self_admin_url( 'user-edit.php' ) );
	}

	/**
	 * Filters the user edit link.
	 *
	 * @since 3.5.0
	 *
	 * @param string $link    The edit link.
	 * @param int    $user_id User ID.
	 */
	return apply_filters( 'get_edit_user_link', $link, $user->ID );
}