如何确定归档模板上是否显示自定义帖子类型

时间:2016-05-29 作者:Privateer

是否有任何方法可以确定是否会在默认存档页面或搜索结果上显示特定的自定义帖子类型?

e、 g.给定一个名为(糟糕)的帖子类型books, 有没有办法告诉我via code 以下任一情况:

如果书籍出现在最新档案中,如果书籍出现在搜索结果中,如果书籍出现在作者档案中,我知道如何在这些文件中显示自定义帖子类型,但我一直在做一些挖掘工作,无法确定特定的自定义帖子类型是否会出现在上述任何文件中。

我寻找这个的主要原因是我正在为一个主题创建自定义面包屑条。。。如果正在查看的自定义帖子支持author功能,那么能够显示authors breadcrumb栏就更好了and 显示在作者存档中。

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

你可以get the post type object 并检查其属性。例如:

$post_type = get_post_type_object( \'books\' );
if( $post_type->exclude_from_search ) {
    // The post type is not included in search results
}
if( $post_type->has_archive ) {
    // The post type has archive
}
据我所知,如果不进行编码(使用pre_get_posts 例如)。我的意思是,这些选项在注册帖子类型时不可用。所以,无法从post类型对象检查它。

SO网友:Gregcta

如果您在前面,则可以在模板上使用is_post_type_archive( $post_types ) 条件标记函数。$post_types 可以是stringarray 要检查的帖子类型。

相关推荐

Breadcrumbs - get the author?

我有自己的函数breadcrumbs()。在其中,我调用is\\u author()来确定我是否在作者页面上。如果是真的,我想知道我在哪个作者的页面上。我尝试了\\u author(),但没有结果。我还查阅了WP codex。有人能帮忙吗?