get_page_uri()

You are here:

get_page_uri( WP_Post|object|int $page )

Build the URI path for a page.

Description Description

Sub pages will be in the “directory” under the parent page post name.


Top ↑

Parameters Parameters

$page

(WP_Post|object|int) (Optional) Page ID or WP_Post object. Default is global $post.


Top ↑

Return Return

(string|false) Page URI, false on error.


Top ↑

More Information More Information

If the page has parents, those are prepended to the URI to provide a full path. For example, a third level page might return a URI like this:

top-level-page/sub-page/current-page

This function will return a “slug” style URI regardless of whether “pretty” Permalinks are configured.


Top ↑

Source Source

File: wp-includes/post.php

5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
function get_page_uri( $page = 0 ) {
    if ( ! $page instanceof WP_Post ) {
        $page = get_post( $page );
    }
 
    if ( ! $page ) {
        return false;
    }
 
    $uri = $page->post_name;
 
    foreach ( $page->ancestors as $parent ) {
        $parent = get_post( $parent );
        if ( $parent && $parent->post_name ) {
            $uri = $parent->post_name . '/' . $uri;
        }
    }
 
    /**
     * Filters the URI for a page.
     *
     * @since 4.4.0
     *
     * @param string  $uri  Page URI.
     * @param WP_Post $page Page object.
     */
    return apply_filters( 'get_page_uri', $uri, $page );
}


Top ↑

Changelog Changelog

Changelog
Version Description
4.6.0 The $page parameter was made optional.
1.5.0 Introduced.
Was this article helpful?
Dislike 0
Views: 17