get_edit_user_link( int $user_id = null ): string

Retrieves the edit user link.

Parameters

$user_idintoptional
User ID. Defaults to the current user.

Default:null

Return

string URL to edit user page or empty string.

Source

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

Hooks

apply_filters( ‘get_edit_user_link’, string $link, int $user_id )

Filters the user edit link.

Changelog

VersionDescription
3.5.0Introduced.

User Contributed Notes

  1. Skip to note 4 content

    Each editor’s link

    Get a link for each editor in the database

    $user = new WP_User_Query( array(
      'role' => 'editor'
    ));
    
    $editor = $users->get_results();
    
    foreach( $editor as $e ){
      $userdata = get_userdata( $e->ID );
      echo '<a href="'. get_edit_user_link( $e->ID ) .'">'. esc_attr( $userdata->user_nicename ) .'</a>';
    }

You must log in before being able to contribute a note or feedback.