WordPress как на ладони
wordpress jino

get_page_uri() WP 1.5.0

Получает путь (URL без домена) до указанной постоянной страницы. Собирает ярлыки текущей и всех родительских страниц и объединяет их слэшем /.

Если у страницы есть родительские страницы, то они будут добавлены в путь через слэш /: roditel/page_name.

Когда нужно получить УРЛ постоянной страницы, почти всегда используется функция get_permalink(). Она к тому же работает с кэшем, а значит быстрее...

Работает на основе: get_post()
✈ 1 раз = 0.000237с = быстро | 50000 раз = 3.85с = быстро
Хуки из функции:
Возвращает

Строку/false. URI страницы, false - в случае ошибки.

Использование

get_page_uri( $page );
$page(WP_Post/объект/число)
ID или объект страницы, URI которой нужно получить. С версии 4.6. параметр стал необязательным.
По умолчанию: 0 (текущая запись)

Примеры

#1 Получим путь до текущей страницы

Допустим у нас есть страница 1544 с ярлыком mypage и она является дочерней к parent. Тогда:

echo get_page_uri( 1544 ); // вернет: parent/mypage

Код get page uri: wp-includes/post.php WP 4.8.2

<?php
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 );
}

Cвязанные функции

Из метки: page

get_page_uri Комментариев нет

Здравствуйте, !

Ваш комментарий