Make WordPress Core

Ticket #40731: 40731.patch

File 40731.patch, 1.6 KB (added by danielhuesken, 8 years ago)
  • src/wp-includes/template.php

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    627627 * @return string The template filename if one is located.
    628628 */
    629629function locate_template($template_names, $load = false, $require_once = true ) {
     630        static $template_cache = array();
     631       
    630632        $located = '';
    631633        foreach ( (array) $template_names as $template_name ) {
    632634                if ( !$template_name )
    633635                        continue;
     636                if ( isset( $template_cache[$template_name] ) && $template_cache[$template_name] === '' ) {
     637                        continue;
     638                }
     639                if ( isset( $template_cache[$template_name] ) ) {
     640                        $located = $template_cache[$template_name];
     641                        break;
     642                }
    634643                if ( file_exists(STYLESHEETPATH . '/' . $template_name)) {
    635                         $located = STYLESHEETPATH . '/' . $template_name;
     644                        $located = $template_cache[$template_name] = STYLESHEETPATH . '/' . $template_name;
    636645                        break;
    637646                } elseif ( file_exists(TEMPLATEPATH . '/' . $template_name) ) {
    638                         $located = TEMPLATEPATH . '/' . $template_name;
     647                        $located = $template_cache[$template_name] = TEMPLATEPATH . '/' . $template_name;
    639648                        break;
    640649                } elseif ( file_exists( ABSPATH . WPINC . '/theme-compat/' . $template_name ) ) {
    641                         $located = ABSPATH . WPINC . '/theme-compat/' . $template_name;
     650                        $located = $template_cache[$template_name] = ABSPATH . WPINC . '/theme-compat/' . $template_name;
    642651                        break;
    643652                }
     653                $template_cache[$template_name] = '';
    644654        }
    645655
    646656        if ( $load && '' != $located )