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

## Получение ссылки на редактирование пользователя (GET_EDIT_USER_LINK())

Функция get_edit_user_link() используется для получения ссылки на редактирование профиля пользователя в WordPress.

### Как это работает

Эта функция основывается на следующих функциях:

- self_admin_url(): Возвращает URL страницы администрирования.
- get_edit_profile_url(): Возвращает URL страницы редактирования профиля для текущего пользователя.

### Хуки

Функция использует хук get_edit_user_link, который позволяет изменять URL для редактирования пользователя.

### Возвращаемое значение

Функция возвращает строку — URL для редактирования страницы пользователя или пустую строку, если доступ к странице запрещён.

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

Вот как использовать get_edit_user_link():

```php
get_edit_user_link( $user_id );
  • $user_id (int): ID пользователя. По умолчанию используется ID текущего пользователя.

Примеры

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

$user_id = 99;
$edit_user_link = get_edit_user_link( $user_id );
// Полученный URL: 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 — это ID текущего пользователя
// https://example.com/wp-admin/profile.php

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

Редактировать мой профиль

Изменения в системе

Эта функция была введена в версии 3.5.0.

Код функции

Функция get_edit_user_link находится в файле wp-includes/link-template.php:

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' ) );
    }

    /**
     * Фильтрует ссылку на редактирование пользователя.
     *
     * @param string $link    Ссылка на редактирование.
     * @param int    $user_id ID пользователя.
     */
    return apply_filters( 'get_edit_user_link', $link, $user->ID );
}

Связанные функции

  • edit_bookmark_link(): Ссылка для редактирования закладки.
  • edit_comment_link(): Ссылка для редактирования комментария.
  • edit_post_link(): Ссылка для редактирования поста.
  • edit_tag_link(): Ссылка для редактирования тега.
  • get_delete_post_link(): Ссылка для удаления поста.
  • get_edit_post_link(): Ссылка для редактирования поста.

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

  • clean_user_cache(): Очищает кеш пользователя.
  • current_user_can(): Проверяет, может ли текущий пользователь выполнять определённые действия.
  • get_current_user_id(): Получает ID текущего пользователя.
  • get_userdata(): Получает данные пользователя по его ID.
  • wp_create_user(): Создаёт нового пользователя.
  • wp_update_user(): Обновляет данные пользователя.

Эта информация поможет вам легче работать с функцией get_edit_user_link() и улучшить управление пользователями на вашем сайте WordPress.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *