get_author_posts_url( int $author_id, string $author_nicename =  ): string

Retrieves the URL to the author page for the user with the ID provided.

Parameters

$author_idintrequired
Author ID.
$author_nicenamestringoptional
The author’s nicename (slug).

Default:''

Return

string The URL to the author’s page.

Source

function get_author_posts_url( $author_id, $author_nicename = '' ) {
	global $wp_rewrite;

	$author_id = (int) $author_id;
	$link      = $wp_rewrite->get_author_permastruct();

	if ( empty( $link ) ) {
		$file = home_url( '/' );
		$link = $file . '?author=' . $author_id;
	} else {
		if ( '' === $author_nicename ) {
			$user = get_userdata( $author_id );
			if ( ! empty( $user->user_nicename ) ) {
				$author_nicename = $user->user_nicename;
			}
		}
		$link = str_replace( '%author%', $author_nicename, $link );
		$link = home_url( user_trailingslashit( $link ) );
	}

	/**
	 * Filters the URL to the author's page.
	 *
	 * @since 2.1.0
	 *
	 * @param string $link            The URL to the author's page.
	 * @param int    $author_id       The author's ID.
	 * @param string $author_nicename The author's nice name.
	 */
	$link = apply_filters( 'author_link', $link, $author_id, $author_nicename );

	return $link;
}

Hooks

apply_filters( ‘author_link’, string $link, int $author_id, string $author_nicename )

Filters the URL to the author’s page.

Changelog

VersionDescription
2.1.0Introduced.

User Contributed Notes

  1. Skip to note 4 content

    Display the link of the author page for the author of the current post

    <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" title="<?php echo esc_attr( get_the_author() ); ?>"><?php the_author(); ?></a>

    Most get_ functions are not escaped and require escaping for safe usage.

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