首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎么才能确认我在主页上

我怎么才能确认我在主页上
EN

WordPress Development用户
提问于 2011-06-27 22:04:54
回答 2查看 442关注 0票数 0

我的主页是主题目录中的index.php。如何以编程方式确认主页是在我的functions.php中调用的?is_home()和is_front_page()对于其他页面是正确的,PHP_SELF总是显示index.php。

更多信息

我想做的是只在主页(http://example.com/)上显示一些脚本。A/B检验中的B为指数-3 (http://example.com/index-3)。但是,如果我点击我们的博客页面(http://example.com/blogs),is_home()和is_front_page()会触发真,导致脚本显示在头上。我不知道是什么导致博客页面触发。我使用wp_print_scripts事件在functions.php文件中触发我的函数。

Settings>>Reading设置为“您的最新文章”,主页名是位于主题目录中的index.php。

因此,最后一个问题是“是否有一种方法可以知道调用的函数是主页(http://example.com/)而不是其他函数?”

EN

回答 2

WordPress Development用户

发布于 2011-06-27 22:23:51

如果您使用的是默认主页(在大多数情况下是最近发布的文章列表),那么is_home()应该可以工作。

如果您已经将静态页面设置为您的首页(在“设置>>阅读”中),则is_front_page()应该可以工作。如果您没有得到预期的结果,请使用以下方法:

代码语言:javascript
复制
if (is_front_page()) {
  //the code you want to execute
}

也许你可以更详细地描述你的情况。

票数 7
EN

WordPress Development用户

发布于 2011-06-28 00:37:16

Up投票@supertrue,但想添加一些澄清:

  • is_front_page()在站点首页(通常称为“主页”)时返回true。
  • is_front_page()在站点首页上返回true,无论首页设置为显示博客帖子索引还是静态页面。
  • is_home()在显示博客帖子索引时返回true。
  • is_home()在显示博客帖子索引时返回true,无论是在主页上还是在静态页面上。
  • 在主页上区分静态页面和博客帖子索引的一个有用选项是get_option( 'show_on_front' ),它返回pageposts

编辑

Settings>>Reading设置为“您的最新文章”,主页名是位于主题目录中的index.php。

因此,根据我上面所说的:

  • 在首页上,is_front_page()总是返回true
  • 当显示博客帖子索引(“您的最新帖子”)时,is_home()总是返回true

您的主页设置为显示博客帖子索引,因此is_front_page()is_home()都将返回true。

编辑2

因此,最后一个问题是“是否有一种方法可以知道调用的函数是主页(http://example.com/)而不是其他函数?”

是!这就是is_front_page()的作用。

如果您需要知道您在首页上,并且首页是静态的:

代码语言:javascript
复制
if ( is_front_page() && 'page' == get_option( 'show_on_front' ) )

如果你需要知道你在头版,而且头版是你的博客文章:

代码语言:javascript
复制
if ( is_front_page() && 'posts' == get_option( 'show_on_front' ) )
票数 1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/21232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档