我的主页是主题目录中的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/)而不是其他函数?”
发布于 2011-06-27 22:23:51
如果您使用的是默认主页(在大多数情况下是最近发布的文章列表),那么is_home()应该可以工作。
如果您已经将静态页面设置为您的首页(在“设置>>阅读”中),则is_front_page()应该可以工作。如果您没有得到预期的结果,请使用以下方法:
if (is_front_page()) {
//the code you want to execute
}也许你可以更详细地描述你的情况。
发布于 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' ),它返回page或postsSettings>>Reading设置为“您的最新文章”,主页名是位于主题目录中的index.php。
因此,根据我上面所说的:
is_front_page()总是返回true。is_home()总是返回true。您的主页设置为显示博客帖子索引,因此is_front_page()和is_home()都将返回true。
因此,最后一个问题是“是否有一种方法可以知道调用的函数是主页(http://example.com/)而不是其他函数?”
是!这就是is_front_page()的作用。
如果您需要知道您在首页上,并且首页是静态的:
if ( is_front_page() && 'page' == get_option( 'show_on_front' ) )如果你需要知道你在头版,而且头版是你的博客文章:
if ( is_front_page() && 'posts' == get_option( 'show_on_front' ) )https://wordpress.stackexchange.com/questions/21232
复制相似问题