Determines the appropriate autoload value for an option based on input.
Description
This function checks the provided autoload value and returns a standardized value (‘on’, ‘off’, ‘auto-on’, ‘auto-off’, or ‘auto’) based on specific conditions.
If no explicit autoload value is provided, the function will check for certain heuristics around the given option.
It will return auto-on
to indicate autoloading, auto-off
to indicate not autoloading, or auto
if no clear decision could be made.
Parameters
$option
stringrequired- The name of the option.
$value
mixedrequired- The value of the option to check its autoload value.
$serialized_value
mixedrequired- The serialized value of the option to check its autoload value.
$autoload
bool|nullrequired- The autoload value to check.
Accepts
to enable or'on'
|true
to disable, or'off'
|false'auto-on'
,'auto-off'
, or'auto'
for internal purposes.
Any other autoload value will be forced to either'auto-on'
,'auto-off'
, or'auto'
.
'yes'
and'no'
are supported for backward compatibility.
Source
function wp_determine_option_autoload_value( $option, $value, $serialized_value, $autoload ) {
// Check if autoload is a boolean.
if ( is_bool( $autoload ) ) {
return $autoload ? 'on' : 'off';
}
switch ( $autoload ) {
case 'on':
case 'yes':
return 'on';
case 'off':
case 'no':
return 'off';
}
/**
* Allows to determine the default autoload value for an option where no explicit value is passed.
*
* @since 6.6.0
*
* @param bool|null $autoload The default autoload value to set. Returning true will be set as 'auto-on' in the
* database, false will be set as 'auto-off', and null will be set as 'auto'.
* @param string $option The passed option name.
* @param mixed $value The passed option value to be saved.
*/
$autoload = apply_filters( 'wp_default_autoload_value', null, $option, $value, $serialized_value );
if ( is_bool( $autoload ) ) {
return $autoload ? 'auto-on' : 'auto-off';
}
return 'auto';
}
Hooks
- apply_filters( ‘wp_default_autoload_value’,
bool|null $autoload ,string $option ,mixed $value ) Allows to determine the default autoload value for an option where no explicit value is passed.
Changelog
Version | Description |
---|---|
6.6.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.