Summery Summery
Retrieve path of single template in current or parent template. Applies to single Posts, single Attachments, and single custom post types.
Syntax Syntax
Description Description
The hierarchy for this template looks like:
- {Post Type Template}.php
- single-{post_type}-{post_name}.php
- single-{post_type}.php
- single.php
An example of this is:
- templates/full-width.php
- single-post-hello-world.php
- single-post.php
- single.php
The template hierarchy and template path are filterable via the ‘$type_template_hierarchy’ and ‘$type_template’ dynamic hooks, where $type
is ‘single’.
Return Return
(string) Full path to single template file.
Source Source
File: wp-includes/template.php
function get_single_template() { $object = get_queried_object(); $templates = array(); if ( ! empty( $object->post_type ) ) { $template = get_page_template_slug( $object ); if ( $template && 0 === validate_file( $template ) ) { $templates[] = $template; } $name_decoded = urldecode( $object->post_name ); if ( $name_decoded !== $object->post_name ) { $templates[] = "single-{$object->post_type}-{$name_decoded}.php"; } $templates[] = "single-{$object->post_type}-{$object->post_name}.php"; $templates[] = "single-{$object->post_type}.php"; } $templates[] = 'single.php'; return get_query_template( 'single', $templates ); }
Advertisement
Changelog Changelog
Version | Description |
---|---|
4.7.0 | {Post Type Template}.php was added to the top of the template hierarchy. |
4.4.0 | single-{post_type}-{post_name}.php was added to the top of the template hierarchy. |
1.5.0 | Introduced. |