WordPress рецепты: определение главной страницы

Если у Вас на сайте , под управлением CMS WordPress на главной странице отображается статичная страница, определить главную можно с помощью функции is_front_page() :

if( is_front_page() ){
$noteOnMain = "Это страница главная!";
}

Если у Вас в блоге отключена стартовая статичная страница, а на сайте последовательно появляются новые записи, определить то что посетитель находится в ленте можно с использованием функции is_home() :

if( is_home() ){
$noteOnMain = "Это главная!";
}

Вышеуказанный код можно вставить в файл header.php расположенный в папке с установленной темой оформления (например: wp-content/themes/my_theme/). Распечатать $noteOnMain можно в любой части шаблона (в header.php , в index.php , в sidebar.php и так далее).
Функции IS_HOME и IS_FRONT_PAGE принимают значение TRUE (=1) если страница главная и значение FALSE если страница любая другая кроме главной (например архив блога, вывод страниц по тегам, результат поиска , категория …)

Официальная документация WorldPress предлагает совместить проверку чтобы удостовериться, что открытая главная страница по-умолчанию:

if ( is_front_page() && is_home() ) {
$noteOnMain = "Это главная!"; // Default homepage
}

Здесь есть неучтенная особенность. Если у Вас сайт представляет из себя ленту последних записей, вывод echo $noteOnMain; будет появляться на каждой странице , а не только на единственно главной.
Решим эту проблема с ещё одной функцией проверки страниц и разделов: is_paged(). Эта функция принимает значение TRUE если Вы находитесь на главной или в любом разделе сайта не на первой странице , а на второй , третий и далее. Соответственно, если страница стартовая, is_paged возвращает FALSE.
Окончательный рецепт определения единственно стартовой страницы выглядит следующим образом:
if( is_front_page() && is_home() && !is_paged() )
{
$noteOnMain = "Это главная, это первая, это стартовая страница сайта!";
}

Теперь Вы сможете повесить на главной какой-то особенный баннер, счетчик или любой произвольный HTML и Javascript код прописав его в переменную $noteOnMain , а затем вывести в нужной части шаблона
echo $noteOnMain;

Больше о функциях этого типа можно прочитать на официальном сайте помощи.

Опубликовано 17.08.2015 в 16:10 · Автор Вебдизайнеру, сисадмину, вебмастеру · Ссылка
Рубрики: PHP программирование, Настройки хостинга · Теги: , , , , , , , , ,