A WordPress-centric search engine for devs and theme authors



get_page_link ›

Since1.5.0
Deprecatedn/a
get_page_link ( $post = false, $leavename = false, $sample = false )
Parameters: (3)
  • (int|WP_Post) $post Optional. Post ID or object. Default uses the global `$post`.
    Required: No
    Default: false
  • (bool) $leavename Optional. Whether to keep the page name. Default false.
    Required: No
    Default: false
  • (bool) $sample Optional. Whether it should be treated as a sample permalink. Default false.
    Required: No
    Default: false
Returns:
  • (string) The page permalink.
Defined at:
Codex:

Retrieves the permalink for the current page or page ID.

Respects page_on_front. Use this one.



Source

function get_page_link( $post = false, $leavename = false, $sample = false ) {
	$post = get_post( $post );

	if ( 'page' == get_option( 'show_on_front' ) && $post->ID == get_option( 'page_on_front' ) ) {
		$link = home_url( '/' );
	} else {
		$link = _get_page_link( $post, $leavename, $sample );
	}

	/**
	 * Filters the permalink for a page.
	 *
	 * @since 1.5.0
	 *
	 * @param string $link    The page's permalink.
	 * @param int    $post_id The ID of the page.
	 * @param bool   $sample  Is it a sample permalink.
	 */
	return apply_filters( 'page_link', $link, $post->ID, $sample );
}