Какие существуют способы определения домашней страницы WordPress
кроме is_front_page()
и is_home()
Спасибо
Какие существуют способы определения домашней страницы WordPress
кроме is_front_page()
и is_home()
Спасибо
is_front_page()
это то, что вы хотите.
Я предполагаю, что по тому, что is_home()
не работает, ваша домашняя страница статическая, согласно настройкам в wp-admin.
is_home()
возвращает true на главной странице вашего блога, тогда как is_front_page()
возвращает true на любой странице, которая определена как главная, независимо от того, лента это или нет.
Из кодекса:
Этот условный тег проверяет, является ли главная страница постами или страницей. Это логическая функция, то есть она возвращает либо ИСТИНА, либо ЛОЖЬ. Он возвращает значение TRUE, когда отображается главная страница блога, а для отображения Настройки->Чтение->Главная страница установлено значение «Ваши последние сообщения» или когда установлено значение «Статическая страница», а значение «Главная страница» равно отображается текущая страница.
Я просто делаю следующее:
if ( $_SERVER["REQUEST_URI"] == '/' ) { }
Это работает и не слишком усложняет вещи, тем более что is_front_page()
и is_home()
не всегда работают так, как вы ожидаете.
снаружи цикла:
if(get_option("page_on_front") == $post->ID){
//do front page stuff here
}
is_front_page()
там не работает.
- person Eric K; 27.05.2020
С Twenty Ten я использую:
<?php
if ( $_SERVER["REQUEST_URI"] == '/' ) { ?>
<h1 class="site-title"><?php bloginfo( 'name' ); ?></h1>
<h2 class="site-description"><?php bloginfo( 'description' ); ?></h2>
<?php
} else { ?>
<p class="site-title"><?php bloginfo( 'name' ); ?></p>
<p class="site-description"><?php bloginfo( 'description' ); ?></p>
<?php } ?>
Работает как шарм... Я всегда использую $_SERVER, и он всегда работает.
Во многих ситуациях сайт Wordpress может иметь is_home и is_frontpage как eval как true на НАСТОЯЩЕЙ домашней странице, так и на главной странице блога. После создания сайтов в Wordpress около 4 лет меня это все еще беспокоит.
Например, если у вас есть сайт, на главной странице которого размещены ваши последние сообщения, может быть слайдер или какие-то другие элементы, ориентированные на главную страницу, И есть еще одна страница блога, то is_frontpage и is_home будут оценены как истинные на ОБЕИХ страницах. Таким образом, Wordpress не имеет четкой условной функции для истинной домашней страницы, по крайней мере, так, как большинство людей думают о домашней странице веб-сайта.
Поэтому я согласен с Лиамом, что если вы попадете в запутанную ситуацию, что-то вроде if ( $_SERVER["REQUEST_URI"] == '/' ) { }
является более надежным.
Для меня is_front_page()
и is_home()
не работают так, как мне нужно проверить домашнюю страницу, поэтому вместо этого я пишу это условие:
global $wp;
$current_url = home_url(add_query_arg(array($_GET), $wp->request));
if ($current_url==get_site_url()) {
// code for homepage
}
is_home()
это путь.
Вы пробовали этот метод, и он не работает? Если да, то обычно это связано с настройками mod_rewrite или с настройками WordPress.
is_home()
? - person alex   schedule 07.02.2011$isHome = ($_SERVER['REQUEST_URI'] == '/')
(или любой другой вашей домашней страницы)? - person alex   schedule 07.02.2011