Options, Meta APIs: Add a filter to allow the shortcut return to wp_load_alloptions function.

Add a new filter `pre_wp_load_alloptions` in the `wp_load_alloptions` function to short circuit the return value. 

Props pbearne, spacedmonkey, joyously, SergeyBiryukov, mukesh27, costdev. 
Fixes #56045.

git-svn-id: https://develop.svn.wordpress.org/trunk@55256 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Jonny Harris
2023-02-07 12:47:30 +00:00
parent daee07405b
commit dcd1ba9330
2 changed files with 43 additions and 0 deletions
+16
View File
@@ -301,6 +301,22 @@ function form_option( $option ) {
function wp_load_alloptions( $force_cache = false ) {
global $wpdb;
/**
* Filters the array of alloptions before it is populated.
*
* Returning an array from the filter will effectively short circuit
* wp_load_alloptions(), returning that value instead.
*
* @since 6.2.0
*
* @param array|null $alloptions An array of alloptions. Default null.
* @param bool $force_cache Whether to force an update of the local cache from the persistent cache. Default false.
*/
$alloptions = apply_filters( 'pre_wp_load_alloptions', null, $force_cache );
if ( is_array( $alloptions ) ) {
return $alloptions;
}
if ( ! wp_installing() || ! is_multisite() ) {
$alloptions = wp_cache_get( 'alloptions', 'options', $force_cache );
} else {