Функция get_page_uri()
возвращает относительный путь (без домена) к указанной странице, собрав ярлыки текущей и всех её родительских страниц. Если у страницы есть родительские страницы, их ярлыки будут добавлены в путь, разделённые слэшами.
get_page_uri( int|WP_Post $page = 0 )
- $page (int|WP_Post): ID или объект страницы, URI которой нужно получить. С версии 4.6 параметр стал необязательным и по умолчанию равен 0, что означает текущую запись.
Возвращаемое значение
Функция возвращает строку с URI страницы или false
в случае ошибки.
Как это работает
Функция get_page_uri()
собирает путь страницы, начиная с её ярлыка и добавляя ярлыки всех родительских страниц. Например, если страница имеет родительскую страницу, то их ярлыки будут объединены с использованием слэша (/). Если страница с ID 123 имеет ярлык mypage
и является дочерней к странице с ярлыком parent
, то вызов функции вернёт parent/mypage
.
Использование
Для получения URI страницы вы можете использовать функцию следующим образом:
<?php
// Получаем URI страницы с ID 123
$page_id = 123;
$page_uri = get_page_uri($page_id);
if ($page_uri !== false) {
echo 'URI страницы: ' . esc_url($page_uri);
} else {
echo 'Страница не найдена.';
}
?>
Примечания
- Обычно для получения полного URL постоянной страницы используется функция
get_permalink()
, которая дополнительно работает с кэшем и может быть быстрее в некоторых случаях. - Функция
get_page_uri()
основывается на функцииget_post()
для получения данных страницы. - Функция
get_page_uri()
может быть полезна для генерации ссылок на страницы внутри вашего сайта, особенно если вам нужно избежать жестко закодированных URL. - Убедитесь, что передаваемый ID является действительным ID существующей страницы, иначе функция вернет пустую строку.
Заключение
Функция get_page_uri()
предоставляет удобный способ получения URI страницы в WordPress, что упрощает создание динамических ссылок и улучшает гибкость вашего кода. Используйте её для работы с URL страниц в своих темах и плагинах для более удобного управления ссылками.