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:
- {mime_type}-{sub_type}.php
- {sub_type}.php
- {mime_type}.php
- attachment.php
An example of this is:
- image-jpeg.php
- jpeg.php
- image.php
- attachment.php
The template hierarchy and template path are filterable via the ‘$type_template_hierarchy’ and ‘$type_template’ dynamic hooks, where $type
is ‘attachment’.
See also
Return
(string) Full path to attachment template file.
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 ); }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
4.3.0 | The order of the mime type logic was reversed so the hierarchy is more logical. |
2.0.0 | Introduced. |