Функция get_page_link()
в WordPress позволяет получить URL страницы (типа page
) по её ID. Это полезный инструмент, когда требуется динамически создать ссылки на страницы сайта, используя их уникальные идентификаторы.
get_page_link( int $page_id = 0, bool $leavename = false, bool $sample = false )
Параметры
$page_id
(int) — ID страницы, для которой нужно получить ссылку. Если не указан, используется ID текущей страницы.$leavename
(bool) — Определяет, оставлять ли холдер%pagename%
без замены на имя страницы. Установите вtrue
, чтобы оставить холдер без изменений. По умолчанию:false
.$sample
(bool) — Указывает, нужно ли получить ссылку в виде структуры постоянных ссылок (ЧПУ). Еслиtrue
, функция вернёт ссылку в формате ЧПУ. По умолчанию:false
.
Возвращаемое значение
Функция возвращает строку, представляющую собой URL страницы.
Как это работает
Функция get_page_link()
предназначена для получения URL постоянной страницы (типа page
). В WordPress она используется в случаях, когда требуется сформировать ссылку на страницу по её ID. В большинстве случаев для универсальности рекомендуется использовать функцию get_permalink()
, которая также может работать с типами записей, отличными от page
.
Функция get_page_link()
работает на основе внутренней функции _get_page_link()
и является основой для get_permalink()
.
Хуки из функции
page_link
— Хук, используемый функцией для фильтрации URL страницы.
Пример 1: Получение ссылки на страницу по ID
// Получение ссылки на страницу с ID 42
$page_id = 42;
$page_link = get_page_link( $page_id );
echo 'Ссылка на страницу: ' . esc_url( $page_link );
В этом примере мы используем функцию get_page_link()
для получения URL страницы с ID 42 и выводим его на экран. Функция esc_url()
используется для экранирования URL, что является хорошей практикой для обеспечения безопасности.
Пример 2: Использование ссылки в шаблоне
// Получение ссылки на страницу "О нас" и создание ссылки для меню
$page_id = get_option( 'page_on_front' ); // Получаем ID страницы главной страницы
$page_link = get_page_link( $page_id );
echo '<a href="' . esc_url( $page_link ) . '">Перейти на главную страницу</a>';
В этом примере мы получаем ID главной страницы сайта с помощью функции get_option()
и затем получаем URL этой страницы с помощью get_page_link()
. Ссылка выводится в виде HTML элемента <a>
.
Пример 3: Простое использование
// Получение ссылки на страницу с ID 24568
echo get_page_link( 24568 ); // Пример: https://example.com/about/our-services
// Получение ссылки, оставляя холдер %pagename% без замены
echo get_page_link( 24568, true ); // Пример: https://example.com/%pagename%
Важно: Функция предназначена для страниц (page
). Для записей (post
) или произвольных типов записей лучше использовать get_permalink()
, так как get_page_link()
может вернуть некорректный результат.
Заключение
Функция get_page_link()
в WordPress предоставляет удобный способ получения URL страниц по их ID. Несмотря на то что она предназначена исключительно для страниц, в большинстве случаев лучше использовать get_permalink()
для универсальности и корректности работы с различными типами записей.