is_front_page() WP 2.5
Проверяет отображается ли главная (домашняя) страница сайта. Условный тег.
Тег сработает в любом случае: будь это страница с выводом последних постов или страница где для главной страницы сайта установлена статическая страница.
Когда для главной установлена статическая страница, is_home() уже не работает на главной, а работают: is_front_page(), is_singular(), is_page()
В настройках Параметры > Чтение > На главной странице отображать (Settings > Reading > Front page displays
) можно установить статическую страницу для главной и статическую страницу для вывода последних постов. is_front_page()
в любом случае будет работать для главной страницы сайта, а is_home()
будет срабатывать только для страницы с выводом последних постов.
На страницах пагинации этот тег будет также срабатывать: /page/2 - будет считаться главной.
Смотрите аналогичную функцию is_home().
WP_Query::is_front_page()
Хуков нет.
Возвращает
true или false зависит от выполнения условия.
Использование
if( is_front_page() ) { //код }
Примеры
#1. Обычный пример использования:
if( is_front_page() ){ echo "Это главная страница"; } else { echo "это не главная страница"; }
#2 Опции «главной страницы» и «страницы записей»
Опции где хранятся ID страниц, который установлены для «главной страницы» и для «страницы записей»:
// ID постоянной страницы, которая указана как главная страница сайта get_option('page_on_front'); // ID постоянной страницы, которая указана как страница блога (последних записей сайта) get_option('page_for_posts');
Заметки
- Global. WP_Query.
$wp_query
WordPress Query object.
Список изменений
С версии 2.5.0 | Введена. |
Код is front page:
wp-includes/query.php
WP 5.3
Cвязанные функции
Из метки: Условные теги (типов страниц и запросов)
- is_404()
- is_admin()
- is_archive()
- is_attachment()
- is_author()
- is_blog_admin()
- is_category()
- is_comment_feed()
- is_customize_preview()
- is_date()
- is_day()
- is_embed()
Еще из метки: Условные теги (все)
- cat_is_ancestor_of()
- comments_open()
- email_exists()
- has_category()
- has_custom_header()
- has_excerpt()
- has_nav_menu()
- has_post_thumbnail()
- has_shortcode()
- has_tag()
- has_term()
- have_comments()
- have_posts()
- in_category()
- in_the_loop()
- is_active_sidebar()
Еще из раздела: Запросы
Еще из тегов шаблона: Основные
- bloginfo()
- calendar_week_mod()
- get_archives_link()
- get_bloginfo()
- get_calendar()
- get_current_blog_id()
- get_footer()
- get_header()
- get_search_form()
- get_sidebar()
пагинация учитывается, исправьте. И в кодексе об этом ни слова. wp-includes/query.php строка 3256
чтобы пагинация не учитывалась надо вот так:
Спасибо за поправку! Отредактировал.
Странно, я проверял, когда описывал эту функцию, видимо разработчики поменяли свойства тега.
Спасибо. Как раз то что искал!
Из этой формулировки следует, что таки НЕ учитывает. Т.е. тоже самое что и is_home:
Где же правда?
Спасибо за коммент, поправил.
Хм..
Читаем тут:
Читаем там
А что не так?
Выходит, что они одинаково работают.
Какой из тегов исключит пагинацию? В см. НЕ будет считать /page/2 главной.
Для этого есть тег: is_paged().
Спасибо, помогли разобраться. Это то, что я искал.
А существует ли возможность программной установки статической страницы в качестве главной?
Установите ID нужных страниц в эти опции:
Вопрос на засыпку - как в админке отловить когда мы на странице редактирования страницы, которая определена настройками как главная?
Код
Не подходит
В WordPress есть 2 опции на этот счет:
П.С. Продублируйте пожалуйста этот вопрос в вопросы, спасибо!
Здравствуйте! У меня не работает is_front_page(), хотя выбрано в админке отображать последние записи. Дело в том, что index.php почти на голом html, кроме include header, footer и 5 последних записей, я его сама написала, может нужно какие-то флаги добавить, чтобы страница определялась, как главная? is_home() работает, но очень надо чтобы работало is_front_page().
Доброго времени суток! Как в админке определить, что редактируется главная страница?
Задача состоит в том, чтобы запретить редактировать главную страницу кроме администратора. Кстати используется плагин полиланг и поэтому есть 3 гл. страницы.
Добрый день,
хочу вывести текст на главную страницу для ее продвижение,
так, чтобы он додавался с админки
текст а ниже последние посты
как это реализовать не могу ни где найти, может вы подскажете ?
на сайте https://бригада-будівельників.укр/
Привет. Хочу скрыть автоматические рекламные блоки гугл на главной странице сайта. Но у меня сайт двуязычный. Если ставлю условие if (!is_home()), то для росcийской версии все работает и рекламный код не выводится, но это не работает для аглоязычной версии с урлом site.com/en/. Как быть в этом случае? Использую плагин Polylang.
Привет. Должно работать. А пробовали is_front_page()?
Тут ещё в доках пишут: