is_attachment()WP 2.0.0

Is the query for an existing attachment page?

For more information on this and similar theme functions, check out the Conditional Tags article in the Theme Developer Handbook.

No Hooks.


true|false. Whether the query is for an existing attachment page.


is_attachment( $attachment );
Attachment ID, title, slug, or array of such to check against.
Default: ''


  • Global. WP_Query. $wp_query WordPress Query object.


Since 2.0.0 Introduced.

Code of is_attachment() WP 6.0

function is_attachment( $attachment = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;

	return $wp_query->is_attachment( $attachment );