Retrieves 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
Source
function get_attachment_template() {
$attachment = get_queried_object();
$templates = array();
if ( $attachment ) {
if ( str_contains( $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 );
}
User Contributed Notes
You must log in before being able to contribute a note or feedback.