Intereting Posts
set_post_thumbnail_size не обрезает выделенные изображения Превосходные практики Nonce: скрытый ввод против wp_localize_script? Изменение порядка отображения соединений Как отображать СТРАНИЦЫ дочерних категорий на странице категории Как добавить код для lastpostdate после / внутри определенной ссылки меню? Использование параметров темы для изменения значения граничного радиуса Категория сообщения и удалить любой почтовый идентификатор Мой блог показывает странные персонажи! Отображение пользовательской таксономии, относящейся к каждому типу сообщения Как я могу отображать / скрывать определенный контент на основе поля «Тема»? Самый простой способ позволить клиентам редактировать страницы author.php с ACF и CPT Редактирование пользовательской страницы администрирования Термины таксономии с ссылкой edit / filter в wp-admin, в списке пользовательских сообщений Изменение размера всех изображений

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

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

<?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 } } ?> 

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