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


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

 8
Author: Stephan Muller, 2011-01-07

4 answers

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

 15
Author: Jan Fabry, 2011-01-10 08:21:10

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

<a href="<?php echo admin_url( 'user-edit.php?user_id=' . $curauth->ID, 'http' ); ?>">Edit Profile</a>

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

 6
Author: d3l3t3m3, 2012-08-27 03:34:08

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

<?php get_currentuserinfo();

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

<a href="/wp-admin/user-edit.php?user_id=<?php the_author_ID(); ?>">Edit
Profile</a>

<?php } ?>
 2
Author: Vince Pettit, 2011-01-07 12:42:29

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

<a href="<?php esc_attr_e( get_edit_profile_url() ); ?>">
    <?php esc_html_e( 'Link to your profile' ); ?>
</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;
 0
Author: alexg, 2020-10-05 11:32:29