Make WordPress Core


Ignore:
Timestamp:
02/21/2024 07:24:12 PM (7 months ago)
Author:
joemcgill
Message:

Themes: Use original template paths when switching blogs.

This fixes a bug introduced by [57129] and [56635] in which deprecating the previous TEMPLATEPATH and STYLESHEETPATH constants in favor of get_template_directory() and get_stylesheet_directory() functions caused the active theme template path to change when using switch_to_blog().

This introduces a new function, wp_set_template_globals(), which is called during the bootstrap process to store the template paths to new globals values $wp_template_path and $wp_stylesheet_path. This restores behavior to how things worked prior to [56635] but retains the ability for template values to be reset for better testability.

Related #18298, #60025.

Props joemcgill, flixos90, mukesh27, swissspidy, manfcarlo, metropolis_john, jeremyfelt.
Fixes #60290.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/includes/abstract-testcase.php

    r57608 r57685  
    190190         */
    191191        $GLOBALS['wp_sitemaps'] = null;
     192
     193        // Reset template globals.
     194        $GLOBALS['wp_stylesheet_path'] = null;
     195        $GLOBALS['wp_template_path']   = null;
    192196
    193197        $this->unregister_all_meta_keys();
Note: See TracChangeset for help on using the changeset viewer.