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

In this article

Determines whether the query is for an existing attachment page.

Parameters

$attachmentint|string|int[]|string[]optional
Attachment ID, title, slug, or array of such to check against.

Default:''

Return

bool Whether the query is for an existing attachment page.

Source

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 ( ! $post_obj ) {
		return false;
	}

	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

VersionDescription
3.1.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.