web-dev-qa-db-fra.com

Obtenir le nom du type de message d'archive

Je veux faire fonctionner ce qui me donne un slug de type post (ou un objet - peu importe) de type post affiché dans la page Archive, ou même sur les pages d'archives de ses taxonomies. C'est possible?

J'ai cette fonction conditionnelle pour reconnaître un type d'article (archive/single), mais j'aimerais qu'elle renvoie le nom, s'il n'est pas défini:

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;
}

Quelqu'un peut-il m'aider avec ça? THX

1
user1980807

Utilisez get_queried_object pour obtenir des informations sur la page en cours.

  • si vous êtes sur un seul post, il retournera l'objet post
  • si vous êtes sur une page, il retournera l'objet page
  • si vous êtes sur une page d'archive, il retournera l'objet de type post
  • si vous êtes sur une archive de catégorie, il retournera l'objet category
  • si vous êtes sur une archive d'auteur, il retournera l'objet author
  • etc.
1
Milo