Merged in feature/81-dev-dev01 (pull request #5)
auto-patch 81-dev-dev01-2023-12-05T22_45_26 * auto-patch 81-dev-dev01-2023-12-05T22_45_26
This commit is contained in:
@@ -157,7 +157,7 @@ function wp_clean_themes_cache( $clear_update_cache = true ) {
|
||||
* @return bool True if a child theme is in use, false otherwise.
|
||||
*/
|
||||
function is_child_theme() {
|
||||
return ( TEMPLATEPATH !== STYLESHEETPATH );
|
||||
return get_template_directory() !== get_stylesheet_directory();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -187,24 +187,40 @@ function get_stylesheet() {
|
||||
* Retrieves stylesheet directory path for the active theme.
|
||||
*
|
||||
* @since 1.5.0
|
||||
* @since 6.4.0 Memoizes filter execution so that it only runs once for the current theme.
|
||||
*
|
||||
* @global string $wp_stylesheet_path Current theme stylesheet directory path.
|
||||
*
|
||||
* @return string Path to active theme's stylesheet directory.
|
||||
*/
|
||||
function get_stylesheet_directory() {
|
||||
$stylesheet = get_stylesheet();
|
||||
$theme_root = get_theme_root( $stylesheet );
|
||||
$stylesheet_dir = "$theme_root/$stylesheet";
|
||||
global $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 );
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -321,24 +337,40 @@ function get_template() {
|
||||
* Retrieves template directory path for the active theme.
|
||||
*
|
||||
* @since 1.5.0
|
||||
* @since 6.4.0 Memoizes filter execution so that it only runs once for the current theme.
|
||||
*
|
||||
* @global string $wp_template_path Current theme template directory path.
|
||||
*
|
||||
* @return string Path to active theme's template directory.
|
||||
*/
|
||||
function get_template_directory() {
|
||||
$template = get_template();
|
||||
$theme_root = get_theme_root( $template );
|
||||
$template_dir = "$theme_root/$template";
|
||||
global $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 );
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -744,11 +776,13 @@ function locale_stylesheet() {
|
||||
* @global WP_Customize_Manager $wp_customize
|
||||
* @global array $sidebars_widgets
|
||||
* @global array $wp_registered_sidebars
|
||||
* @global string $wp_stylesheet_path
|
||||
* @global string $wp_template_path
|
||||
*
|
||||
* @param string $stylesheet Stylesheet name.
|
||||
*/
|
||||
function switch_theme( $stylesheet ) {
|
||||
global $wp_theme_directories, $wp_customize, $sidebars_widgets, $wp_registered_sidebars;
|
||||
global $wp_theme_directories, $wp_customize, $sidebars_widgets, $wp_registered_sidebars, $wp_stylesheet_path, $wp_template_path;
|
||||
|
||||
$requirements = validate_theme_requirements( $stylesheet );
|
||||
if ( is_wp_error( $requirements ) ) {
|
||||
@@ -832,6 +866,17 @@ function switch_theme( $stylesheet ) {
|
||||
|
||||
update_option( 'theme_switched', $old_theme->get_stylesheet() );
|
||||
|
||||
/*
|
||||
* Reset globals to force refresh the next time these directories are
|
||||
* accessed via `get_stylesheet_directory()` / `get_template_directory()`.
|
||||
*/
|
||||
$wp_stylesheet_path = null;
|
||||
$wp_template_path = null;
|
||||
|
||||
// Clear pattern caches.
|
||||
$new_theme->delete_pattern_cache();
|
||||
$old_theme->delete_pattern_cache();
|
||||
|
||||
/**
|
||||
* Fires after the theme is switched.
|
||||
*
|
||||
@@ -1247,11 +1292,10 @@ function get_header_image_tag( $attr = array() ) {
|
||||
$attr = wp_parse_args(
|
||||
$attr,
|
||||
array(
|
||||
'src' => $header->url,
|
||||
'width' => $width,
|
||||
'height' => $height,
|
||||
'alt' => $alt,
|
||||
'decoding' => 'async',
|
||||
'src' => $header->url,
|
||||
'width' => $width,
|
||||
'height' => $height,
|
||||
'alt' => $alt,
|
||||
)
|
||||
);
|
||||
|
||||
@@ -3742,9 +3786,9 @@ function wp_customize_support_script() {
|
||||
$admin_origin = parse_url( admin_url() );
|
||||
$home_origin = parse_url( home_url() );
|
||||
$cross_domain = ( strtolower( $admin_origin['host'] ) !== strtolower( $home_origin['host'] ) );
|
||||
$type_attr = current_theme_supports( 'html5', 'script' ) ? '' : ' type="text/javascript"';
|
||||
ob_start();
|
||||
?>
|
||||
<script<?php echo $type_attr; ?>>
|
||||
<script>
|
||||
(function() {
|
||||
var request, b = document.body, c = 'className', cs = 'customize-support', rcs = new RegExp('(^|\\s+)(no-)?'+cs+'(\\s+|$)');
|
||||
|
||||
@@ -3760,6 +3804,7 @@ function wp_customize_support_script() {
|
||||
}());
|
||||
</script>
|
||||
<?php
|
||||
wp_print_inline_script_tag( wp_remove_surrounding_empty_script_tags( ob_get_clean() ) );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -4268,7 +4313,7 @@ function create_initial_theme_features() {
|
||||
*
|
||||
* @since 5.9.0
|
||||
*
|
||||
* @return boolean Whether the active theme is a block-based theme or not.
|
||||
* @return bool Whether the active theme is a block-based theme or not.
|
||||
*/
|
||||
function wp_is_block_theme() {
|
||||
return wp_get_theme()->is_block_theme();
|
||||
@@ -4290,9 +4335,9 @@ function wp_theme_get_element_class_name( $element ) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds default theme supports for block themes when the 'setup_theme' action fires.
|
||||
* Adds default theme supports for block themes when the 'after_setup_theme' action fires.
|
||||
*
|
||||
* See {@see 'setup_theme'}.
|
||||
* See {@see 'after_setup_theme'}.
|
||||
*
|
||||
* @since 5.9.0
|
||||
* @access private
|
||||
|
||||
Reference in New Issue
Block a user