Posts: Allow `get_page_uri()` to be called without a $page argument.

`get_page_uri()` can now be called without an argument, which will return the page URI for the current post in the loop.

Props pollett.
Fixes #26284.


git-svn-id: https://develop.svn.wordpress.org/trunk@37345 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Eric Andrew Lewis 2016-05-02 18:28:04 +00:00
parent 0efe87a4fb
commit 32ed4fadf2
2 changed files with 20 additions and 2 deletions

View File

@ -4428,11 +4428,12 @@ function _page_traverse_name( $page_id, &$children, &$result ){
* Sub pages will be in the "directory" under the parent page post name.
*
* @since 1.5.0
* @since 4.6.0 The $page parameter is optional.
*
* @param WP_Post|object|int $page Page object or page ID.
* @param WP_Post|object|int $page Optional. Page ID or WP_Post object. Default is global $post.
* @return string|false Page URI, false on error.
*/
function get_page_uri( $page ) {
function get_page_uri( $page = 0 ) {
if ( ! $page instanceof WP_Post ) {
$page = get_post( $page );
}

View File

@ -0,0 +1,17 @@
<?php
/**
* @group post
*/
class Tests_Post_getPageUri extends WP_UnitTestCase {
function test_get_page_uri_without_argument() {
$post_id = self::factory()->post->create(array(
'post_title' => 'Blood Orange announces summer tour dates',
'post_name' => 'blood-orange-announces-summer-tour-dates',
));
$post = get_post( $post_id );
$this->go_to( get_permalink( $post_id ) );
$this->assertEquals( 'blood-orange-announces-summer-tour-dates', get_page_uri() );
}
}