Як перевірити наявність батьківської сторінки у WordPress

Привіт:) У цьому пості покажу, як перевірити, чи поточна сторінка WordPress має батьківську, тобто чи вона є дочірньою відносно іншої.

Для перевірки, чи у даний момент ми знаходимося на Сторінці, існує умовний тег is_page(). Але вона не показує, чи поточна сторінка є дочірньою. Для цього можна створити власну перевірку. Для цього додайте наступний код у файл functions.php:

/**
 * If current Page has parent Page
 */
function mp_is_subpage() {
    global $post;
    if ( is_page() && $post->post_parent ) {
        return $post->post_parent;
    } else {
        return false;
    }
}

Використовувати цю перевірку в коді потрібного файлу-шаблону теми можна так:

<?php  
if ( mp_is_subpage() ) {
    echo '<h1>' . get_the_title() . ' (батьківська: ' . 
         get_the_title( $post->post_parent ) . ')</h1>';
} else {
    echo '<h1>' . get_the_title() . '</h1>';
}
?>

Якщо Сторінка не має батьківської, то буде виведений звичайний заголовок. Якщо ж є, то до заголовка додасться і її назва. Буде виведено:

Заголовок поточної сторінки (батьківська: Заголовок батьківської сторінки)

Михайло Петров
Михайло Петров

Мене звати Михайло. Я є WordPress-розробником. Створюю сайти з "нуля", розробляю плагіни, оновлюю наявний функціонал та підтримую готові проєкти.

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

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