Get archive post type name

时间:2015-09-19 作者:sjiamnocna

我想创建一个函数,它可以让我在归档页面中,甚至在其分类的归档页面上,显示一个post类型的slug(或object-无所谓)。有可能吗?

我有这个条件函数来识别帖子类型(归档/单一),但如果没有设置,我希望它返回名称:

function rb_oftype($type = false) {
global $post;

if ( !$type ){
    //get the type [post_type,tax]


}

if ( count($post) > 0 ){
    //if is of post type

    if ( $post->post_type === $type ) return true;

}
elseif ( is_archive() ) {
    //added also for post type archives

    return is_post_type_archive( $type );

}
elseif ( is_tax() ){
    //also for all custom post taxonomy archives

    $taxonomies = (array) get_object_taxonomies($type);

    $keys = array_keys( $taxonomies );
    for ($i=0;$i<$keys;$i++)  if ( is_tax( $taxonomies[$keys[$i]] ) ) 

return true;

    }

    return false;
}
有人能帮我吗?Thx公司

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

使用get_queried_object 获取有关当前页面的信息。

如果您在一篇文章上,它将返回post对象如果您在一个页面上,它将返回page对象如果您在存档页面上,它将返回post类型对象如果您在类别存档中,它将返回category对象如果您在作者存档中,它将返回author对象等

相关推荐

Display an archives name

我想显示当前存档文件的名称,因此对于下面的url,我可以这样做<h1><?php echo \"answer\" ?></h1> 输出如下内容<h1>News</h1> 或者更好<h1>News: supplierName</h1> http://www.site.com/suppliers/news/?supplierstax=supplierName