WordPress Version: 5.1
/**
* Utility version of get_option that is private to installation/upgrade.
*
* @ignore
* @since 1.5.1
* @access private
*
* @global wpdb $wpdb WordPress database abstraction object.
*
* @param string $setting Option name.
* @return mixed
*/
function __get_option($setting)
{
// phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionDoubleUnderscore,PHPCompatibility.FunctionNameRestrictions.ReservedFunctionNames.FunctionDoubleUnderscore
global $wpdb;
if ('home' === $setting && defined('WP_HOME')) {
return untrailingslashit(WP_HOME);
}
if ('siteurl' === $setting && defined('WP_SITEURL')) {
return untrailingslashit(WP_SITEURL);
}
$option = $wpdb->get_var($wpdb->prepare("SELECT option_value FROM {$wpdb->options} WHERE option_name = %s", $setting));
if ('home' === $setting && !$option) {
return __get_option('siteurl');
}
if (in_array($setting, array('siteurl', 'home', 'category_base', 'tag_base'), true)) {
$option = untrailingslashit($option);
}
return maybe_unserialize($option);
}