is_home() vs is_archive() 时间:2014-08-13 作者:Jeff 我已经将我的首页设置为静态首页“主页”,而我的帖子页面设置为我的“新闻”页面。在我的新闻页面上,is_home() 退货1 如预期,但is_archive() 退货0. 我希望它会回来1 而且的WP文档is_archive() 这对我来说并不清楚。上面写着,检查是否显示任何类型的存档页面。存档是一个类别、标记、作者或基于日期的页面。我希望这是真的。有些东西与我无关。两者的区别是什么is_home() 和is_archive()? 3 个回复 最合适的回答,由SO网友:Pieter Goosen 整理而成 要正确理解差异,您必须深入了解Wordpress的核心is_archive() (定义见wp-includes/query.php#L140) 检查任何类型的存档页。这些存档页在中定义WP_Query 中的类wp-includes/query.php#L1615 1615线和1616线1615 if ( $this->is_post_type_archive || $this->is_date || $this->is_author || $this->is_category || $this->is_tag || $this->is_tax ) 1616 $this->is_archive = true; is_home()(定义见wp-includes/query.php#L443) 当您在主页上时,将返回true,即当任何条件/页面返回false时,如WP_Query 中的类wp-includes/query.php#L1648 第1648和1649行1648 if ( !( $this->is_singular || $this->is_archive || $this->is_search || $this->is_feed || $this->is_trackback || $this->is_404 || $this->is_admin || $this->is_comments_popup || $this->is_robots ) ) 1649 $this->is_home = true; 至于你的问题,无论何时设置静态首页,Wordpress都会使用首页。php,第页。php或任何其他自定义页面模板。此处使用的适当条件是is_front_page()对于设置为博客页面的页面,Wordpress使用主页。php或索引。php。这是您博客的实际主页,而不是存档页。is_home() 将返回true和is_archive() 将按预期返回false进一步阅读:Template HierarchyCreating a static front pageQuery Overview SO网友:Amirmasoud 如果你有家。php/索引。主题上的php这是您的第一个页面,此页面中的函数is\\u home()return true。但当你存档时。php函数is\\u archive()将返回true。档案文件php用于显示一年、一个月或一天的帖子。您可以通过将存档的小部件添加到站点来测试存档功能。 SO网友:Cayce K 为了扩展@AmirMasoud的回答,当你在新闻提要上时,它实际上并没有显示类别、标签、作者等特定的帖子集。在您的选项中,还有一个可以定义家的地方。该页可能超出了使用索引的范围。php和将是唯一返回1作为is_home().归档可以通过许多不同的方式进行设置。查找模板层次结构以更好地了解主页、存档和其他页面文件选项。 结束 文章导航