WordPress Version: 4.3
/**
* Retrieve the permalink for current page or page ID.
*
* Respects page_on_front. Use this one.
*
* @since 1.5.0
*
* @param int|object $post Optional. Post ID or object.
* @param bool $leavename Optional, defaults to false. Whether to keep page name.
* @param bool $sample Optional, defaults to false. Is it a sample permalink.
* @return string The page permalink.
*/
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);
}
/**
* Filter 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);
}