get_page_link() WP 1.5.0

Отримує URL-адресу (посилання) постійної сторінки WordPress (записи типу page).

Розуміє, коли сторінку вказано як головну сторінку сайту: див. опцію page_on_front .

Замість цієї функції майже завжди краще використовувати get_permalink() – універсальна функція, яка використовує цю функцію, коли потрібно.

Працює на основі:
_get_page_link()
Основа для:
get_permalink()
1 раз – 0.0038071 сек
(дуже повільно) | 50000 разів – 7.68 сек
(швидко)

Хуки з функції
get_page_link($post, $leavename, $sample);
$post
(число | WP_Post)
ID сторінки чи її об’єкт.


Типово: global $post
$leavename
(true|false)
Чи потрібно залишити холдер
%pagename%як є? true – залишити холдер без заміни його на ім’я сторінки. Ім’я сторінки збирається з імені поточної сторінки та батьківських, наприклад
parent_page_name/current_page_name.


Типово: false
$sample
(true|false)
true – отримати зразок посилання з урахуванням структури ЧПК. Це може бути потрібне, коли посилання форсовано повертається в простому вигляді (не ЧПУ –
/?pagename=contacts ), а нам потрібно отримати саме ЧПУ (
/contacts ).


Типово: false

Приклади

0

#1 Демонстрація роботи

// тип запису page - для якого призначена ця функція echo get_page_link(10124); // https://wp-doc.com/about/privacy-policy // залишимо холдер echo get_page_link(10124, true); // https://wp-doc.com/%pagename%

УВАГА: для типу запису post та інших довільних типів записів функція не призначена, тому вона може повернути неправильний результат.

echo get_page_link(13564); // https://wp-doc.com/atributy-scrset-sizes // правильне посилання буде таке echo get_permalink(13564); // https://wp-doc.com/id_13564/atributy-scrset-sizes.html 

список змін

З версії 1.5.0Введено.

Код get_page_link() WP 6.0.2

function get_page_link( $post = false, $leavename = false, $sample = false ) { $post = get_post($post); if ( 'page' === get_option( 'show_on_front' ) && get_option( 'page_on_front' ) == $post->ID ) { $link = home_url('/'); } else { $link = _get_page_link($post, $leavename, $sample); } /** * Filters permalink for a page. * * @ Since 1.5.0 * * @param string $link The page's permalink. * @param int $post_id The ID of the page. * @param bool $sample Це зразок сторінки. */ return apply_filters( 'page_link', $link, $post->ID, $sample ); }

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *