Получение URL родительской страницы для отображения на дочерних страницах

29 июн. 2015 г., 04:33:30
Просмотры: 48.9K
Голосов: 19

Я хотел бы спросить, как получить ссылку обратно на родительскую страницу, когда я нахожусь на дочерних страницах? Я предпочел бы использовать правильную ссылку вместо метода <a href="javascript:history.back()">Вернуться назад</a>.

Вопрос и пример: Как получить ссылку на дочернюю страницу 2-го уровня, когда я нахожусь на дочерней странице 3-го уровня?

Главная > Родительская страница > Дочерняя страница 1-го уровня > Дочерняя страница 2-го уровня > Дочерняя страница 3-го уровня

Главная > Родительская страница > Дочерняя страница 1-го уровня(показать эту ссылку) > Текущая страница

Главная > Родительская страница(показать эту ссылку) > Текущая страница

Обновленная информация: Я добавил эти три примера выше для лучшего объяснения того, что я пытаюсь спросить.

Этот вопрос не о хлебных крошках. Я просто хочу получить ссылку на родительскую страницу для отображения, когда находишься на дочерних страницах.

И как получить ссылку на дочернюю страницу 1-го уровня, когда я нахожусь на дочерней странице 2-го уровня?

Причина, по которой я задаю этот вопрос, в том, что я хочу создать ссылку Вернуться на предыдущую страницу для разных уровней, когда я нахожусь на разных дочерних страницах. Пожалуйста, скажите, если вы не понимаете.

0
Все ответы на вопрос 1
8
27

Вы можете использовать следующий код для получения URL родительской страницы (и отображения её заголовка):

<?php if ( $post->post_parent ) { ?>
 <a href="<?php echo get_permalink( $post->post_parent ); ?>" >
    <?php echo get_the_title( $post->post_parent ); ?>
 </a>
<?php } ?>

Если вы выполняете этот код вне цикла (спасибо @BorisKuzmanov), то используйте этот вариант:

<?php global $post;
  if ( $post->post_parent ) { ?>
    <a href="<?php echo get_permalink( $post->post_parent ); ?>" >
    <?php echo get_the_title( $post->post_parent ); ?>
    </a>
<?php } ?>
29 июн. 2015 г. 06:14:35
Комментарии

Это не работает.

Jornes Jornes
2 июл. 2015 г. 05:01:54

Что ты имеешь в виду, что не работает? Куда ты вставляешь этот код?

Monkey Puzzle Monkey Puzzle
3 июл. 2015 г. 03:33:42

Я вставил этот код на страницу, где должна отображаться ссылка. Но ничего не показывается.

Jornes Jornes
3 июл. 2015 г. 04:14:18

Попробуйте применить это в вашем sidebar.php и посмотрите, сработает ли это там. Оно покажет что-то (родительскую страницу) ТОЛЬКО КОГДА у текущей страницы ЕСТЬ родитель.

Monkey Puzzle Monkey Puzzle
3 июл. 2015 г. 04:21:27

Если вы запускаете код вне цикла, попробуйте добавить global $post в начало вашего кода.

Boris Kuzmanov Boris Kuzmanov
8 июн. 2016 г. 15:08:15

@BorisKuzmanov, Да! Я снова протестировал этот код. Он работает. Спасибо!

Jornes Jornes
16 июн. 2016 г. 07:30:11

Если я использую любой из этих фрагментов кода в page.php (например), оба работают, даже вне цикла... Разве так не должно быть? Или это зависит от вашей настройки/темы? И кстати, спасибо, это отлично! :)

user1406440 user1406440
19 апр. 2017 г. 20:41:41

Работает, подтверждаю работоспособность, и помогло мне получить ID родителя, чтобы сделать необходимые условные проверки!

Rodrigo Zuluaga Rodrigo Zuluaga
11 июн. 2020 г. 23:44:14
Показать остальные 3 комментариев