Intereting Posts
404 Ошибка при использовании sCategory Плагин Permalink Список категорий вместо выпадающего меню в настройках администратора Как добавить класс или идентификатор к пункту меню, добавленному с помощью add_theme_page () wp_mail отправляет два письма при использовании после получения данных сеанса Ссылка для 'Показать все категории событий' Мой код для создания параметра администратора не работает Проблема WPAlchemy при использовании 2 меню выбора с одинаковыми значениями внутри повторяющейся группы Где добавить крючки в классе Запрос по кнопке ACF Как я могу позволить пользователям получать доступ к функциям плагина на основе ролей? Таксономия Meta Box в профиле пользователя? Добавление кнопки покупки в сообщение в блоге (Woocommerce) Загружать и включать определенные файлы JavaScript для сообщений? Получить изображение с идентификатором Условный тег для сообщения

Не удается получить объект бабушки и дедушки

Я использую следующий код, чтобы получить идентификатор дедушки и прародителя текущей страницы:

<?php $current = get_post($post->ID); $grandparent = $current->post_parent; $greatGrandparent = $grandparent->post_parent; ?> <h2>$current: <?php echo $current->ID; ?></h2> <h2>$grandparent: <?php echo $grandparent->ID; ?></h2> <h2>$greatGrandparent: <?php echo $greatGrandparent->ID; ?></h2> 

Однако, когда я пытаюсь повторить их, я получаю только значение текущей страницы:

$ current: 335

$ прародитель

$ GreatGrandparent:

Я уверен, что просматриваю страницу, на самом деле имеющую большие / дедушкиные страницы … может ли кто-нибудь увидеть, что я делаю неправильно?

просто небольшая ошибка. Чтобы получить объекты родителя и дедушки, вам также нужно get_post. Свойство «post_parent» дает только идентификатор этого сообщения, а не самого post_object.

Таким образом, вы меняете свой код следующим образом:

 <?php $current = get_post($post->ID); //Conditional to be sure there is a parent if($current->post_parent){ $grandparent = get_post($current->post_parent); //conditional to be sure there is a greatgrandparent if($grandparent->post_parent){ $greatGrandparent = get_post($grandparent->post_parent); } } ?> <h2>$current: <?php echo $current->ID; ?></h2> <?php if($grandparent){ ?> <h2>$grandparent: <?php echo $grandparent->ID; ?></h2> <?php if($greatGrandparent){ ?> <h2>$greatGrandparent: <?php echo $greatGrandparent->ID; ?></h2> <?php } } ?> 

И все в порядке!