在wordpress中检测主页有哪些不同的方法?

时间:2011-02-07 11:27:20

标签: php javascript wordpress-theming wordpress

检测wordpress主页的不同方法有哪些

除了is_front_page()is_home()

由于

7 个答案:

答案 0 :(得分:20)

is_front_page()就是你想要的。

根据wp-admin中的设置,我假设is_home()不起作用,主页是静态的。

is_home()在您的主博客页面上返回true,而is_front_page()返回true,其中任何页面都定义为您的首页,是否为Feed。

来自codex:

  

此条件标记检查主页是帖子还是页面。这是一个布尔函数,意味着它返回TRUE或FALSE。当显示主博客页面并且Settings-> Reading-> Front页面显示设置为“Your latest posts”,或者设置为“A static page”和“Front Page”值时,它返回TRUE是显示的当前页面。

答案 1 :(得分:16)

我只是做以下事情:

if ( $_SERVER["REQUEST_URI"] == '/' ) { }

它有效并且不会使事情过于复杂,尤其是is_front_page()is_home()并不总是像您期望的那样工作。

答案 2 :(得分:2)

使用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是我经常使用的,它始终有效。

答案 3 :(得分:1)

来自圈外:

if(get_option("page_on_front") == $post->ID){
    //do front page stuff here
}

答案 4 :(得分:0)

在许多情况下,Wordpress网站可以在REAL主页和主博客页面上将is_home和is_frontpage都eval为true。在Wordpress中建立网站大约4年后,这仍然困扰着我。

例如,如果您的主页上有最新帖子的网站可能有滑块或其他一些以主页为中心的元素,并且还有另一个博客页面,那么is_frontpage和is_home将在两个页面上均为真。所以Wordpress对于真正的主页没有明确的条件功能,至少大多数人都会想到网站的主页。

所以我同意Liam的看法,如果你遇到一个令人困惑的情况,就像 if($ _SERVER [“REQUEST_URI”] =='/'){}

更可靠。

答案 5 :(得分:0)

对我来说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 
}

答案 6 :(得分:-1)

is_home()是要走的路。

您是否尝试过这种方法并且不起作用?如果是,它通常与mod_rewrite设置或wordpress设置本身有关。