Is_archive()在存档页面上返回FALSE

时间:2011-07-11 作者:koskoz

我按照官方文档创建了我的归档页面:http://codex.wordpress.org/Creating_an_Archive_Index

它工作得很好,除了“is\\u archive()在我查看此页面时返回false”。

有什么想法吗?

2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

因为“归档”页面不是博客帖子的归档索引,而是一个页面。

“归档”页面只是一个自定义页面模板,它应用于静态页面。

这个is_archive() 如果正在显示存档索引,conditional返回true。存档索引页面显示的是帖子,而不是静态页面。

EDIT

而不是使用if ( is_archive() ), 尝试使用if ( is_page( \'archives\' ) ) (假设您已将静态页面命名为归档文件)。

或者,您可以使用if ( is_page_template( \'archives.php\' ) ) (假设您已将模板文件命名为archives.php).

SO网友:AyexeM

上面的解决方案对我不起作用,因为我是在循环内部进行的。相反,我检查了!is\\u single()用于确定我是在帖子上还是在索引上:

if ( \'post\' == $ptype && !is_single() )

结束

相关推荐

显示Archives.php中的所有自定义帖子类型

我该怎么做?archive.php 只有以下内容:wp_get_archives(\'type=monthly\'); 以及wp_get_archives() 没有显示所有帖子类型的参数。我也认为archive-[post_type].php 不是我要找的,因为我希望所有帖子类型都显示在一个归档页面中。谢谢W