Вывести на конкретной странице — wordpress

Вывести на конкретной странице — wordpress

Бывают такие ситуации, когда на определенной странице сайта под управлением wordpress, нужно вывести какой-нибудь блок или текст. Для реализации этой задачи можно воспользоваться несколькими способами: другой шаблон для страницы, произвольные поля или проверка на нужную страницу прямо в коде (не создавая дополнительный шаблон). Последний способ мы сегодня и рассмотрим.

Для начала нам нужно узнать ID страницы. Делается это достаточно просто. Идем в список страниц, наводим мышку на нужную страницу, в левом нижнем углу появится ссылка. В этой ссылке ищем буквы: ...post=1.... Вот эта цифра и есть id. Также можно посмотреть id находясь на нужной странице и в верхней плашке администратора наведя на Редактировать - снизу также отобразится ссылка с id. В любом случае это довольно просто.

Теперь идем в визуальный редактор или на ftp. Нам нужен шаблон page.php (хотя такую проверку можно делать не только в этом шаблоне). В нужном месте проверим, что страница имеет id=1 и выведем там приветственный текст:

<?php if ( is_page('1') ) { ?>
 
	Всем привет!
 
<?php } ?>

Ничего сложного. Если нам нужно также сделать это для дочерних (вложенных) страниц, то стоит модифицировать код до такого:

<?php if (in_array('1', $post->ancestors) || is_page('1') ) { ?>
 
	Всем привет!
 
<?php } ?>

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

<?php if (in_array('1', $post->ancestors) || is_page('1') ) { ?>
 
	Всем привет!
 
<?php } else { ?>
 
	Всем пока!
 
<?php } ?>

Вот пожалуй и все! Экспериментируйте и все получится!

26.03.17
Для просмотра сайта обновите браузер.