WP_Query::is_post_type_archive()publicWP 3.1.0

Determines whether the query is for an existing post type archive page.

Method of the class: WP_Query{}

No Hooks.

Return

true|false. Whether the query is for an existing post type archive page.

Usage

global $wp_query;
$wp_query->is_post_type_archive( $post_types );
$post_types(string|string[])
Post type or array of posts types to check against.
Default: ''

Changelog

Since 3.1.0 Introduced.

WP_Query::is_post_type_archive() code WP 6.5.2

public function is_post_type_archive( $post_types = '' ) {
	if ( empty( $post_types ) || ! $this->is_post_type_archive ) {
		return (bool) $this->is_post_type_archive;
	}

	$post_type = $this->get( 'post_type' );
	if ( is_array( $post_type ) ) {
		$post_type = reset( $post_type );
	}
	$post_type_object = get_post_type_object( $post_type );

	if ( ! $post_type_object ) {
		return false;
	}

	return in_array( $post_type_object->name, (array) $post_types, true );
}