我怎么知道我是否在主页上? wordpress或php

时间:2016-12-12 17:18:36

标签: php wordpress

我想验证我是否在index.php页面或wordpress主页上。我尝试使用此代码但不起作用。

    $homepage = "http://jocuri-copii.com/";
    $currentpage = $_SERVER['REQUEST_URI'];
    if($homepage==$currentpage) 
    {
        $this->state = TRUE;
    }
    else
    {
        $this->state = FALSE;
    }

我想知道我是否在http://jocuri-copii.com/并且输入state = true和else = false。这种方法不起作用。

3 个答案:

答案 0 :(得分:2)

尝试使用here

引用的is_home()
    if (is_home()) {
      # Do stuff
    } else {
      # Do other stuff
    }

答案 1 :(得分:2)

您有两种类型的主页:

要确保代码按预期运行,与帖子存档或页面无关,您应该在主题functions.php上执行此操作:

add_action ('wp', function () {

  if (is_home() || is_front_page()) {

    // Homepage 
  } 

  else { 

    // Not homepage
  }

});

来自is_home()参考页:

  

如果为网站的首页设置了静态页面,则此功能仅在您设置为“帖子页面”的页面上返回true。

来自is_front_page()参考页:

  

如果您为网站的首页设置了静态页面,则在查看该页面时此函数将返回true。

答案 2 :(得分:1)

在WordPress中,有一些条件可以验证查看者请求的页面类型。对于主页,它取决于您如何配置读数设置(在设置>阅读中找到)。

  • is_home()是"帖子页"
  • is_front_page()也是
    • 您设置为主要主页/首页的静态网页
    • 帖子页

我知道这令人困惑。让我们来看看吧。转到设置>阅读您网站后端的管理页面。

TIP

以下是给您的提示:

  

帖子页面(显示您最新帖子的页面,有时称为"博客")将始终为* true is_home()。它是" Home"页。但它并不总是首页,因为这取决于你如何设置"阅读设置。"

默认设置

当您启动新的WordPress网站时,默认设置为:

  

首页显示:设置为"您的最新帖子"

enter image description here

在此配置中, is_home()is_front_page()都将设置为TRUE

设置静态"首页"

如果您定义静态首页,则条件不同。

enter image description here

"首页"在上面的例子中标识为"我的头版"将执行以下操作:

  • is_home()FALSE
  • is_front_page()TRUE

请注意,is_home()未设置。为什么?因为is_home()确实意味着"帖子页面。"它并不意味着"主页。"

帖子页面,在上面的例子中标识为"博客,"将具有以下状态:

  • is_home()TRUE
  • is_front_page()FALSE

首页与主页

根据您配置的阅读设置的方式注意差异非常重要。如果你想看一个视频教程,我有一个available for you here

请注意,帖子页面的is_home()功能始终true。但这并不一定意味着您在网站的第一个默认页面上。

模板

WordPress有可用于将homefront page分开的模板。您可以使用home.phpfront-page.php

但是,从您的index.php开始,您希望使用相应的is_home()来说明您是帖子页面还是is_front_page()如果您已定义静态头版