WP_Query::is_attachment( int|string|int[]|string[] $attachment = '' )

Is the query for an existing attachment page?

Parameters

$attachment

(int|string|int[]|string[]) (Optional) Attachment ID, title, slug, or array of such to check against.

Default value: ''

Return

(bool) Whether the query is for an existing attachment page.

Source

File: wp-includes/class-wp-query.php

public function is_attachment( $attachment = '' ) {
		if ( ! $this->is_attachment ) {
			return false;
		}

		if ( empty( $attachment ) ) {
			return true;
		}

		$attachment = array_map( 'strval', (array) $attachment );

		$post_obj = $this->get_queried_object();

		if ( in_array( (string) $post_obj->ID, $attachment, true ) ) {
			return true;
		} elseif ( in_array( $post_obj->post_title, $attachment, true ) ) {
			return true;
		} elseif ( in_array( $post_obj->post_name, $attachment, true ) ) {
			return true;
		}
		return false;
	}

Changelog

Version Description
3.1.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_query/is_attachment