mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-07-04 17:20:07 +00:00
Themes: Clear existing pattern cache when in theme development mode and prevent PHP warning due to missing file.
Follow up to [56765]. Props spacedmonkey, afercia, jrf, flixos90. Fixes #59591. See #59490. git-svn-id: https://develop.svn.wordpress.org/trunk@56931 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -350,9 +350,25 @@ function _register_theme_block_patterns() {
|
||||
continue;
|
||||
}
|
||||
|
||||
$file_path = $dirpath . $file;
|
||||
|
||||
if ( ! file_exists( $file_path ) ) {
|
||||
_doing_it_wrong(
|
||||
__FUNCTION__,
|
||||
sprintf(
|
||||
/* translators: %s: file name. */
|
||||
__( 'Could not register file "%s" as a block pattern as the file does not exist.' ),
|
||||
$file
|
||||
),
|
||||
'6.4.0'
|
||||
);
|
||||
$theme->delete_pattern_cache();
|
||||
continue;
|
||||
}
|
||||
|
||||
// The actual pattern content is the output of the file.
|
||||
ob_start();
|
||||
include $dirpath . $file;
|
||||
include $file_path;
|
||||
$pattern_data['content'] = ob_get_clean();
|
||||
if ( ! $pattern_data['content'] ) {
|
||||
continue;
|
||||
@@ -408,11 +424,13 @@ add_action( 'init', '_register_theme_block_patterns' );
|
||||
function _wp_get_block_patterns( WP_Theme $theme ) {
|
||||
$can_use_cached = ! wp_is_development_mode( 'theme' );
|
||||
|
||||
if ( $can_use_cached ) {
|
||||
$pattern_data = $theme->get_pattern_cache();
|
||||
if ( is_array( $pattern_data ) ) {
|
||||
$pattern_data = $theme->get_pattern_cache();
|
||||
if ( is_array( $pattern_data ) ) {
|
||||
if ( $can_use_cached ) {
|
||||
return $pattern_data;
|
||||
}
|
||||
// If in development mode, clear pattern cache.
|
||||
$theme->delete_pattern_cache();
|
||||
}
|
||||
|
||||
$dirpath = $theme->get_stylesheet_directory() . '/patterns/';
|
||||
|
||||
Reference in New Issue
Block a user