WordPress.org

Make WordPress Core

Ticket #13239: 13239.duckpunch.diff

File 13239.duckpunch.diff, 1.2 KB (added by georgestephanis, 7 years ago)
  • wp-includes/template.php

     
    366366 * @return string The template filename if one is located.
    367367 */
    368368function locate_template($template_names, $load = false, $require_once = true ) {
    369         $located = '';
    370         foreach ( (array) $template_names as $template_name ) {
    371                 if ( !$template_name )
    372                         continue;
    373                 if ( file_exists(STYLESHEETPATH . '/' . $template_name)) {
    374                         $located = STYLESHEETPATH . '/' . $template_name;
    375                         break;
    376                 } else if ( file_exists(TEMPLATEPATH . '/' . $template_name) ) {
    377                         $located = TEMPLATEPATH . '/' . $template_name;
    378                         break;
     369        $located = apply_filters( 'locate_template_override', '', $template_names, $load, $require_once );
     370
     371        if ( empty( $located ) ) {
     372                foreach ( (array) $template_names as $template_name ) {
     373                        if ( !$template_name )
     374                                continue;
     375                        if ( file_exists(STYLESHEETPATH . '/' . $template_name)) {
     376                                $located = STYLESHEETPATH . '/' . $template_name;
     377                                break;
     378                        } else if ( file_exists(TEMPLATEPATH . '/' . $template_name) ) {
     379                                $located = TEMPLATEPATH . '/' . $template_name;
     380                                break;
     381                        }
    379382                }
    380383        }
    381384