__get_option

The timeline below displays how wordpress function __get_option has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

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);
}

WordPress Version: 5.5

/**
 * 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);
}

WordPress Version: 5.4

/**
 * 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 ('siteurl' === $setting || 'home' === $setting || 'category_base' === $setting || 'tag_base' === $setting) {
        $option = untrailingslashit($option);
    }
    return maybe_unserialize($option);
}

WordPress Version: 5.3

/**
 * 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 ($setting == 'home' && defined('WP_HOME')) {
        return untrailingslashit(WP_HOME);
    }
    if ($setting == 'siteurl' && 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 ('siteurl' == $setting || 'home' == $setting || 'category_base' == $setting || 'tag_base' == $setting) {
        $option = untrailingslashit($option);
    }
    return maybe_unserialize($option);
}

WordPress Version: 4.9

/**
 * Utility version of get_option that is private to installation/upgrade.
 *
 * @ignore
 * @since 1.5.1
 * @access private
 *
 * @global wpdb  $wpdb
 *
 * @param string $setting Option name.
 * @return mixed
 */
function __get_option($setting)
{
    global $wpdb;
    if ($setting == 'home' && defined('WP_HOME')) {
        return untrailingslashit(WP_HOME);
    }
    if ($setting == 'siteurl' && 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 ('siteurl' == $setting || 'home' == $setting || 'category_base' == $setting || 'tag_base' == $setting) {
        $option = untrailingslashit($option);
    }
    return maybe_unserialize($option);
}

WordPress Version: 4.3

/**
 * Utility version of get_option that is private to install/upgrade.
 *
 * @ignore
 * @since 1.5.1
 * @access private
 *
 * @global wpdb  $wpdb
 *
 * @param string $setting Option name.
 * @return mixed
 */
function __get_option($setting)
{
    global $wpdb;
    if ($setting == 'home' && defined('WP_HOME')) {
        return untrailingslashit(WP_HOME);
    }
    if ($setting == 'siteurl' && 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 ('siteurl' == $setting || 'home' == $setting || 'category_base' == $setting || 'tag_base' == $setting) {
        $option = untrailingslashit($option);
    }
    return maybe_unserialize($option);
}

WordPress Version: 4.2

/**
 * Utility version of get_option that is private to install/upgrade.
 *
 * @ignore
 * @since 1.5.1
 * @access private
 *
 * @param string $setting Option name.
 * @return mixed
 */
function __get_option($setting)
{
    global $wpdb;
    if ($setting == 'home' && defined('WP_HOME')) {
        return untrailingslashit(WP_HOME);
    }
    if ($setting == 'siteurl' && 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 ('siteurl' == $setting || 'home' == $setting || 'category_base' == $setting || 'tag_base' == $setting) {
        $option = untrailingslashit($option);
    }
    return maybe_unserialize($option);
}

WordPress Version: 3.7

/**
 * Version of get_option that is private to install/upgrade.
 *
 * @since 1.5.1
 * @access private
 *
 * @param string $setting Option name.
 * @return mixed
 */
function __get_option($setting)
{
    global $wpdb;
    if ($setting == 'home' && defined('WP_HOME')) {
        return untrailingslashit(WP_HOME);
    }
    if ($setting == 'siteurl' && 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 ('siteurl' == $setting || 'home' == $setting || 'category_base' == $setting || 'tag_base' == $setting) {
        $option = untrailingslashit($option);
    }
    return maybe_unserialize($option);
}