@Legal2019
Всё в имени моём... и радость и печаль...

Как сделать правильно PHP код ссылки для WP на странице шаблона page-{slug}.php?

Здравствуйте, подскажите пожалуйста,

Существует следующая иерархия:
Есть страница «Имена» с шаблоном page-names.php
Внутри неё есть страница «Ваня 1» с шаблоном page-names.php, а внутри неё есть страница «Ваня 2», «Ваня 3» и т.д. (везде шаблон page-names.php).
Т.е. получается следующее:
Главная/Имена/Ваня1/Ваня2
На странице «Имена» есть текст с ссылкой на страницу «Ваня 1», где есть соответственно ссылка на страницу «Ваня 2» и т.д.

Но, на странице «Имена» может быть ещё и ссылка на страницу «Даша1» с шаблоном page-names.php, где будет ссылка на страницу «Даша2», «Даша 3» и т.д. (везде шаблон page-names.php).

Вопрос:
Как сделать так, чтобы при нахождении с шаблоном page-names.php на странице:
«Ваня 2», «Ваня 3» и т.д. была ссылка на страницу «Ваня 1», а при нахождении на странице «Ваня 1» - ссылка на страницу «Имена».
Соответственно, чтобы также всё было и для страниц «Даша 2», «Даша 3» и т.д., чтобы была ссылка на страницу «Даша 1», а при нахождении на странице «Даша 1» - ссылка на страницу «Имена».
Заранее спасибо.
Интересует код PHP для WP, т.к. сам не осилю его.
  • Вопрос задан
  • 607 просмотров
Решения вопроса 1
azerphoenix
@azerphoenix
Java Software Engineer
Довольно странный вопрос, но решение есть.
В шаблоне при помощи условных тегов проверяете на какой странице находится юзер.
Простой пример:
<?php

	if(is_page(1)):  // ID cтраницы Ивана
		echo '<a href="https://example.com">Даша</a>'; // Показываем ссылку на страницу Даши
	elseif (is_page(2)): // ID страницы Даши
		echo '<a href="https://example.com">Иван</a>'; // Показываем ссылку на страницу Ивана
	elseif (is_page(3)): // ID страницы Насти
		echo '<a href="https://example.com">Валерий</a>'; // Показываем ссылку на страницу Валерия
	else:  
		echo '<a href="https://example.com">Настя</a>';
	endif;
?>

Можно использовать switch case для красоты)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@FlyNeko
Если я правильно уловила иерархию, то просто
<?php if ($post->post_parent): ?>
	<a href="<?php the_permalink($post->post_parent); ?>"><?php echo esc_html(get_the_title($post->post_parent)) ?></a>	
<?php endif; ?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы