Як перевірити наявність батьківської сторінки у 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>';
}
?>
Якщо Сторінка не має батьківської, то буде виведений звичайний заголовок. Якщо ж є, то до заголовка додасться і її назва. Буде виведено:
Заголовок поточної сторінки (батьківська: Заголовок батьківської сторінки)