the_permalink( int|WP_Post $post )

Displays the permalink for the current post.

Parameters

$postint|WP_Postoptional
Post ID or post object. Default is the global $post.

More Information

This tag must be within The Loop, and is generally used to display the permalink for each post, when the posts are being displayed. Since this template tag is limited to displaying the permalink for the post that is being processed, you cannot use it to display the permalink to an arbitrary post on your weblog. Refer to get_permalink() if you want to get the permalink for a post, given its unique post id.

Source

function the_permalink( $post = 0 ) {
	/**
	 * Filters the display of the permalink for the current post.
	 *
	 * @since 1.5.0
	 * @since 4.4.0 Added the `$post` parameter.
	 *
	 * @param string      $permalink The permalink for the current post.
	 * @param int|WP_Post $post      Post ID, WP_Post object, or 0. Default 0.
	 */
	echo esc_url( apply_filters( 'the_permalink', get_permalink( $post ), $post ) );
}

Hooks

apply_filters( ‘the_permalink’, string $permalink, int|WP_Post $post )

Filters the display of the permalink for the current post.

Changelog

VersionDescription
4.4.0Added the $post parameter.
1.2.0Introduced.

User Contributed Notes

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