Changeset 57156
- Timestamp:
- 12/04/2023 07:57:30 PM (8 months ago)
- Location:
- branches/6.4
- Files:
-
- 4 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/6.4
-
branches/6.4/src/wp-includes/ms-blogs.php
r56986 r57156 492 492 * @global bool $switched 493 493 * @global string $table_prefix 494 * @global string $wp_template_path495 * @global string $wp_stylesheet_path496 494 * @global WP_Object_Cache $wp_object_cache 497 495 * … … 535 533 536 534 $wpdb->set_blog_id( $new_blog_id ); 537 $GLOBALS['table_prefix'] = $wpdb->get_blog_prefix(); 538 $GLOBALS['blog_id'] = $new_blog_id; 539 $GLOBALS['wp_template_path'] = null; 540 $GLOBALS['wp_stylesheet_path'] = null; 535 $GLOBALS['table_prefix'] = $wpdb->get_blog_prefix(); 536 $GLOBALS['blog_id'] = $new_blog_id; 541 537 542 538 if ( function_exists( 'wp_cache_switch_to_blog' ) ) { … … 605 601 * @global bool $switched 606 602 * @global string $table_prefix 607 * @global string $wp_template_path608 * @global string $wp_stylesheet_path609 603 * @global WP_Object_Cache $wp_object_cache 610 604 * … … 632 626 633 627 $wpdb->set_blog_id( $new_blog_id ); 634 $GLOBALS['blog_id'] = $new_blog_id; 635 $GLOBALS['table_prefix'] = $wpdb->get_blog_prefix(); 636 $GLOBALS['wp_template_path'] = null; 637 $GLOBALS['wp_stylesheet_path'] = null; 628 $GLOBALS['blog_id'] = $new_blog_id; 629 $GLOBALS['table_prefix'] = $wpdb->get_blog_prefix(); 638 630 639 631 if ( function_exists( 'wp_cache_switch_to_blog' ) ) { -
branches/6.4/src/wp-includes/theme.php
r57010 r57156 189 189 * @since 1.5.0 190 190 * @since 6.4.0 Memoizes filter execution so that it only runs once for the current theme. 191 * 192 * @global string $wp_stylesheet_path Current theme stylesheet directory path. 191 * @since 6.4.2 Memoization removed. 193 192 * 194 193 * @return string Path to active theme's stylesheet directory. 195 194 */ 196 195 function get_stylesheet_directory() { 197 global $wp_stylesheet_path; 198 199 if ( null === $wp_stylesheet_path ) { 200 $stylesheet = get_stylesheet(); 201 $theme_root = get_theme_root( $stylesheet ); 202 $stylesheet_dir = "$theme_root/$stylesheet"; 203 204 /** 205 * Filters the stylesheet directory path for the active theme. 206 * 207 * @since 1.5.0 208 * 209 * @param string $stylesheet_dir Absolute path to the active theme. 210 * @param string $stylesheet Directory name of the active theme. 211 * @param string $theme_root Absolute path to themes directory. 212 */ 213 $stylesheet_dir = apply_filters( 'stylesheet_directory', $stylesheet_dir, $stylesheet, $theme_root ); 214 215 // If there are filter callbacks, force the logic to execute on every call. 216 if ( has_filter( 'stylesheet' ) || has_filter( 'theme_root' ) || has_filter( 'stylesheet_directory' ) ) { 217 return $stylesheet_dir; 218 } 219 220 $wp_stylesheet_path = $stylesheet_dir; 221 } 222 223 return $wp_stylesheet_path; 196 $stylesheet = get_stylesheet(); 197 $theme_root = get_theme_root( $stylesheet ); 198 $stylesheet_dir = "$theme_root/$stylesheet"; 199 200 /** 201 * Filters the stylesheet directory path for the active theme. 202 * 203 * @since 1.5.0 204 * 205 * @param string $stylesheet_dir Absolute path to the active theme. 206 * @param string $stylesheet Directory name of the active theme. 207 * @param string $theme_root Absolute path to themes directory. 208 */ 209 return apply_filters( 'stylesheet_directory', $stylesheet_dir, $stylesheet, $theme_root ); 224 210 } 225 211 … … 339 325 * @since 1.5.0 340 326 * @since 6.4.0 Memoizes filter execution so that it only runs once for the current theme. 341 * 342 * @global string $wp_template_path Current theme template directory path. 327 * @since 6.4.1 Memoization removed. 343 328 * 344 329 * @return string Path to active theme's template directory. 345 330 */ 346 331 function get_template_directory() { 347 global $wp_template_path; 348 349 if ( null === $wp_template_path ) { 350 $template = get_template(); 351 $theme_root = get_theme_root( $template ); 352 $template_dir = "$theme_root/$template"; 353 354 /** 355 * Filters the active theme directory path. 356 * 357 * @since 1.5.0 358 * 359 * @param string $template_dir The path of the active theme directory. 360 * @param string $template Directory name of the active theme. 361 * @param string $theme_root Absolute path to the themes directory. 362 */ 363 $template_dir = apply_filters( 'template_directory', $template_dir, $template, $theme_root ); 364 365 // If there are filter callbacks, force the logic to execute on every call. 366 if ( has_filter( 'template' ) || has_filter( 'theme_root' ) || has_filter( 'template_directory' ) ) { 367 return $template_dir; 368 } 369 370 $wp_template_path = $template_dir; 371 } 372 373 return $wp_template_path; 332 $template = get_template(); 333 $theme_root = get_theme_root( $template ); 334 $template_dir = "$theme_root/$template"; 335 336 /** 337 * Filters the active theme directory path. 338 * 339 * @since 1.5.0 340 * 341 * @param string $template_dir The path of the active theme directory. 342 * @param string $template Directory name of the active theme. 343 * @param string $theme_root Absolute path to the themes directory. 344 */ 345 return apply_filters( 'template_directory', $template_dir, $template, $theme_root ); 374 346 } 375 347 … … 777 749 * @global array $sidebars_widgets 778 750 * @global array $wp_registered_sidebars 779 * @global string $wp_stylesheet_path780 * @global string $wp_template_path781 751 * 782 752 * @param string $stylesheet Stylesheet name. 783 753 */ 784 754 function switch_theme( $stylesheet ) { 785 global $wp_theme_directories, $wp_customize, $sidebars_widgets, $wp_registered_sidebars , $wp_stylesheet_path, $wp_template_path;755 global $wp_theme_directories, $wp_customize, $sidebars_widgets, $wp_registered_sidebars; 786 756 787 757 $requirements = validate_theme_requirements( $stylesheet ); … … 866 836 867 837 update_option( 'theme_switched', $old_theme->get_stylesheet() ); 868 869 /*870 * Reset globals to force refresh the next time these directories are871 * accessed via `get_stylesheet_directory()` / `get_template_directory()`.872 */873 $wp_stylesheet_path = null;874 $wp_template_path = null;875 838 876 839 // Clear pattern caches. -
branches/6.4/tests/phpunit/tests/theme.php
r57010 r57156 1180 1180 } 1181 1181 } 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1182 1308 }
Note: See TracChangeset
for help on using the changeset viewer.