Skip to content

Commit

Permalink
Remove memoization
Browse files Browse the repository at this point in the history
  • Loading branch information
joemcgill committed Nov 9, 2023
1 parent 2bf4a27 commit 1b24487
Showing 1 changed file with 28 additions and 52 deletions.
80 changes: 28 additions & 52 deletions src/wp-includes/theme.php
Original file line number Diff line number Diff line change
Expand Up @@ -188,39 +188,27 @@ function get_stylesheet() {
*
* @since 1.5.0
* @since 6.4.0 Memoizes filter execution so that it only runs once for the current theme.
* @since 6.4.1 Memoization removed.
*
* @global string $wp_stylesheet_path Current theme stylesheet directory path.
*
* @return string Path to active theme's stylesheet directory.
*/
function get_stylesheet_directory() {
global $wp_stylesheet_path;
$stylesheet = get_stylesheet();
$theme_root = get_theme_root( $stylesheet );
$stylesheet_dir = "$theme_root/$stylesheet";

if ( null === $wp_stylesheet_path ) {
$stylesheet = get_stylesheet();
$theme_root = get_theme_root( $stylesheet );
$stylesheet_dir = "$theme_root/$stylesheet";

/**
* Filters the stylesheet directory path for the active theme.
*
* @since 1.5.0
*
* @param string $stylesheet_dir Absolute path to the active theme.
* @param string $stylesheet Directory name of the active theme.
* @param string $theme_root Absolute path to themes directory.
*/
$stylesheet_dir = apply_filters( 'stylesheet_directory', $stylesheet_dir, $stylesheet, $theme_root );

// If there are filter callbacks, force the logic to execute on every call.
if ( has_filter( 'stylesheet' ) || has_filter( 'theme_root' ) || has_filter( 'stylesheet_directory' ) ) {
return $stylesheet_dir;
}

$wp_stylesheet_path = $stylesheet_dir;
}

return $wp_stylesheet_path;
/**
* Filters the stylesheet directory path for the active theme.
*
* @since 1.5.0
*
* @param string $stylesheet_dir Absolute path to the active theme.
* @param string $stylesheet Directory name of the active theme.
* @param string $theme_root Absolute path to themes directory.
*/
return apply_filters( 'stylesheet_directory', $stylesheet_dir, $stylesheet, $theme_root );
}

/**
Expand Down Expand Up @@ -338,39 +326,27 @@ function get_template() {
*
* @since 1.5.0
* @since 6.4.0 Memoizes filter execution so that it only runs once for the current theme.
* @since 6.4.1 Memoization removed.
*
* @global string $wp_template_path Current theme template directory path.
*
* @return string Path to active theme's template directory.
*/
function get_template_directory() {
global $wp_template_path;
$template = get_template();
$theme_root = get_theme_root( $template );
$template_dir = "$theme_root/$template";

if ( null === $wp_template_path ) {
$template = get_template();
$theme_root = get_theme_root( $template );
$template_dir = "$theme_root/$template";

/**
* Filters the active theme directory path.
*
* @since 1.5.0
*
* @param string $template_dir The path of the active theme directory.
* @param string $template Directory name of the active theme.
* @param string $theme_root Absolute path to the themes directory.
*/
$template_dir = apply_filters( 'template_directory', $template_dir, $template, $theme_root );

// If there are filter callbacks, force the logic to execute on every call.
if ( has_filter( 'template' ) || has_filter( 'theme_root' ) || has_filter( 'template_directory' ) ) {
return $template_dir;
}

$wp_template_path = $template_dir;
}

return $wp_template_path;
/**
* Filters the active theme directory path.
*
* @since 1.5.0
*
* @param string $template_dir The path of the active theme directory.
* @param string $template Directory name of the active theme.
* @param string $theme_root Absolute path to the themes directory.
*/
return apply_filters( 'template_directory', $template_dir, $template, $theme_root );
}

/**
Expand Down

0 comments on commit 1b24487

Please sign in to comment.