Вывод текста только на главной в WordPress
Часто приходится сталкиваться задачами в CMS WordPress ограничить вывод какого-либо блока на других страницах, а вывести только на главной в общем шаблоне, для этого достаточно прописать php код с условиями.
<?php if (is_home()) { ?> <h3>Текст для главной</h3> <? } ?>
или
<?php if (is_front_page()) {?> <h3>Текст для главной</h3> <?} ?>
Если на главной странице используется постраничная навигация, то возможны проблемы с выводом текста на страницах пагинации, вида /page/1, /page/2, /page/3 …
Так как они тоже будут считаться главными страницами сайта, поэтому необходимо добавить дополнительное условие в проверку:
<?php if (is_home() and $_SERVER['REQUEST_URI']=='/') {?> <h3>Текст для главной</h3> <?} ?>
Что задать сразу вывод определенного блока или элемента на главной странице, и одновременно на внутренних можно использовать код:
<?php if (is_front_page() ) { echo('Текст для главной страницы'); } else { echo('Текст для внутренней страницы'); } ?>
Если блок нужно вывести только на внутренних страницах, а на главной ничего не выводить, то проще сделать так:
<?php if (!is_front_page()) { echo 'Вывести блок на всех кроме главной'; } ?>