WordPress.org

Make WordPress Core

Ticket #19063: new.diff

File new.diff, 896 bytes (added by impleri, 2 years ago)

first attempt

  • general-template.php

     
    123123        if ( isset($name) ) 
    124124                $templates[] = "{$slug}-{$name}.php"; 
    125125 
     126        if (get_post_type() == false) { 
     127                $term = get_queried_object(); 
     128                $type = $term->taxonomy; 
     129        } 
     130        else { 
     131                $type = get_query_var('post_type'); 
     132        } 
     133 
     134        $default_types = array('post', 'page', 'attachment', 'category', 'post_tag', 'link_category', 'post_format'); 
     135        if (!in_array($type, $default_types)) { 
     136                if (isset($name)) { 
     137                        $templates[] = "$slug-$name-$type.php"; 
     138                } 
     139                $templates[] = "$slug-$type.php"; 
     140        } 
     141 
    126142        $templates[] = "{$slug}.php"; 
    127143 
    128         locate_template($templates, true, false); 
     144        $template = locate_template($templates); 
     145 
     146        if (!in_array($type, $default_types)) { 
     147                $template = apply_filters('get_custom_template_part', $template, $type, $slug, $name); 
     148        } 
     149 
     150        load_template($template, false); 
    129151} 
    130152 
    131153/**