Ссылка на страницу настроек профиля пользователя?

7 янв. 2011 г., 13:55:55
Просмотры: 26.8K
Голосов: 9

Я пытаюсь понять, как создать ссылку для авторизованного пользователя на его настройки профиля, но не могу найти функцию, которая генерирует эту ссылку (наподобие wp_settings_url() или wp_profile_url()) Существует ли стандартная функция для этого?

0
Все ответы на вопрос 5
1
15

Страница редактирования профиля текущего пользователя находится по адресу /wp-admin/profile.php, поэтому вы можете просто использовать admin_url( 'profile.php' ), именно так это реализовано в исходном коде WordPress.

10 янв. 2011 г. 10:21:10
Комментарии

Работает идеально, элегантное решение. Спасибо, Jan.

Lars Koudal Lars Koudal
16 мар. 2011 г. 16:48:13
0

Комбинация других ответов:

<a href="<?php echo admin_url( 'user-edit.php?user_id=' . $curauth->ID, 'http' ); ?>">Редактировать профиль</a>

Я использую это на author.php, поэтому ID пользователя уже доступен на странице. Таким образом, администратор получает ссылку для редактирования профиля этого пользователя, а не своего собственного.

27 авг. 2012 г. 06:34:08
1

Возможно, что-то вроде этого?

<?php get_currentuserinfo();

global $user_ID;
if (” != $user_ID) { ?>

<a href="/wp-admin/user-edit.php?user_id=<?php the_author_ID(); ?>">Редактировать
профиль</a>

<?php } ?>
7 янв. 2011 г. 14:42:29
Комментарии

Еще не было возможности проверить это, но должно работать!

Vince P Vince P
7 янв. 2011 г. 14:43:23
0

Если вас интересует только текущий пользователь, используйте get_edit_profile_url():

<a href="<?php esc_attr_e( get_edit_profile_url() ); ?>">
    <?php esc_html_e( 'Ссылка на ваш профиль' ); ?>
</a>

Если вы хотите отобразить ссылку на профиль другого пользователя, используйте get_edit_user_link():

<?php
$user = get_userdata( $user_id );
if ( $user ):
    ?>
    <a href="<?php esc_attr_e( get_edit_user_link( $user->ID ) ); ?>">
        <?php esc_html_e( $user->user_login ); ?>
    </a>
    <?php
endif;
5 окт. 2020 г. 14:32:29
1
-1

Это правильный способ! Пожалуйста, используйте его для ссылки на профиль пользователя.

<?php echo admin_url( 'user-edit.php?user_id=' . $user_id, 'http' ); ?>"><?php echo ucwords( wpe_get_user_name( $user_id ) ); ?>
1 нояб. 2022 г. 11:00:07
Комментарии

Можете объяснить, почему это лучше? Вы используете admin_url, как и в ответе d3l3t3m3, правда без force-scheme-http-not-s, но без фактического создания ссылки.

Rup Rup
4 нояб. 2022 г. 02:55:17