Re-add caching to wp_theme_has_theme_json(), but only when not in a WP Admin request #3867
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a new attempt for #3556, which after commit resulted in a fatal error due to
load-styles.php
only loading a very small subset of WordPress, thus not having thewp_cache_*()
functions available.This PR addresses the problem by introducing a concrete check for whether to use the cache (the previous code was doing a cache lookup before even checking whether to use the cache (based on
! WP_DEBUG
), and by including a new condition! is_admin()
in that check. This way theload-styles.php
request succeeds.To test this fix, set the
CONCATENATE_SCRIPTS
constant totrue
, and load WP Admin, which will then loadload-styles.php
as a CSS file. Without the! is_admin()
condition, you get the fatal error, and therefore styles are not loading. With the condition, it is working as expected.Trac ticket: https://core.trac.wordpress.org/ticket/56975
This Pull Request is for code review only. Please keep all other discussion in the Trac ticket. Do not merge this Pull Request. See GitHub Pull Requests for Code Review in the Core Handbook for more details.