Make WordPress Core

Ticket #12105: singular_template_post_types.diff

File singular_template_post_types.diff, 1.1 KB (added by ptahdunbar, 15 years ago)

singular_template_post_types

  • wp-includes/theme.php

     
    897897
    898898/**
    899899 * Retrieve path of single template in current or parent template.
     900 *
     901 * Will first look for singular-{post_type}-{slug}.php
     902 * The will search for 'singular-{post_type}-{id}.php' followed by 'singular-{post_type}.php',
     903 * and finally 'singular.php'
    900904 *
    901905 * @since 1.5.0
    902906 *
    903907 * @return string
    904908 */
    905909function get_single_template() {
    906         return get_query_template('single');
     910        global $wp_query;
     911       
     912        $id = (int) $wp_query->post->ID;
     913       
     914        $templates = array();
     915        $templates[] = "singular-{$wp_query->post->post_type}-{$wp_query->post->post_name}.php";
     916        $templates[] = "singular-{$wp_query->post->post_type}-{$id}.php";
     917        $templates[] = "singular-{$wp_query->post->post_type}.php";
     918        $templates[] = "singular.php";
     919        $templates[] = "single.php"; // Deprecated, use singular.php instead
     920       
     921        return apply_filters('single_template', locate_template($templates));
    907922}
    908923
    909924/**