Flector

Как проверить существование родительской страницы?

Для проверки вывода страницы в WordPress существует условный тег is_page(), но как проверить существование родительской страницы для текущей страницы? Можно создать свой условный тег проверки на наличие у страницы родителя. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

//условный тег проверки родительской страницы start
function is_subpage() {
    global $post;
    if (is_page() && $post->post_parent) {
        return $post->post_parent;
    } else {
        return false;
    }
}
//условный тег проверки родительской страницы end

Использовать этот условный тег в коде нужного шаблона темы можно так:

<?php  
if (is_subpage()) {
    echo '<h1>' . get_the_title() . ' (родительская: ' . 
         get_the_title($post->post_parent) . ')</h1>';
} else {
    echo '<h1>' . get_the_title() . '</h1>';
}
?>

Если у страницы нет родителя, то будет выведен обычный заголовок, а если он есть, то к заголовку добавится и название родителя (будет выведено "(родительская: заголовок родителя)"). Это самый простейший пример, приведенный только ради того, чтобы показать вам использование этого условного тега.


Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!