get_attachment_template() WordPress Function

The get_attachment_template() function is used to get the attachment template for a given attachment. This function will first check if the attachment has a template assigned to it, and if so, will return that template. If no template is assigned, it will return the default attachment template.

get_attachment_template() #

Retrieve path of attachment template in current or parent template.


Description

The hierarchy for this template looks like:

  1. {mime_type}-{sub_type}.php
  2. {sub_type}.php
  3. {mime_type}.php
  4. attachment.php

An example of this is:

  1. image-jpeg.php
  2. jpeg.php
  3. image.php
  4. attachment.php

The template hierarchy and template path are filterable via the ‘$type_template_hierarchy’ and ‘$type_template’ dynamic hooks, where $type is ‘attachment’.

Top ↑

See also


Top ↑

Return

(string) Full path to attachment template file.


Top ↑

Source

File: wp-includes/template.php

function get_attachment_template() {
	$attachment = get_queried_object();

	$templates = array();

	if ( $attachment ) {
		if ( false !== strpos( $attachment->post_mime_type, '/' ) ) {
			list( $type, $subtype ) = explode( '/', $attachment->post_mime_type );
		} else {
			list( $type, $subtype ) = array( $attachment->post_mime_type, '' );
		}

		if ( ! empty( $subtype ) ) {
			$templates[] = "{$type}-{$subtype}.php";
			$templates[] = "{$subtype}.php";
		}
		$templates[] = "{$type}.php";
	}
	$templates[] = 'attachment.php';

	return get_query_template( 'attachment', $templates );
}


Top ↑

Changelog

Changelog
VersionDescription
4.3.0The order of the mime type logic was reversed so the hierarchy is more logical.
2.0.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.