Jetpack_Sync_Settings::get_setting PHP Method

get_setting() static public method

autoloaded on page load rather than re-queried every time.
static public get_setting ( $setting )
    static function get_setting($setting)
    {
        if (!isset(self::$valid_settings[$setting])) {
            return false;
        }
        if (isset(self::$settings_cache[$setting])) {
            return self::$settings_cache[$setting];
        }
        $value = get_option(self::SETTINGS_OPTION_PREFIX . $setting);
        if (false === $value) {
            $default_name = "default_{$setting}";
            // e.g. default_dequeue_max_bytes
            $value = Jetpack_Sync_Defaults::${$default_name};
            update_option(self::SETTINGS_OPTION_PREFIX . $setting, $value, true);
        }
        if (is_numeric($value)) {
            $value = intval($value);
        }
        $default_array_value = null;
        switch ($setting) {
            case 'post_types_blacklist':
                $default_array_value = Jetpack_Sync_Defaults::$blacklisted_post_types;
                break;
            case 'post_meta_whitelist':
                $default_array_value = Jetpack_Sync_Defaults::$post_meta_whitelist;
                break;
            case 'comment_meta_whitelist':
                $default_array_value = Jetpack_Sync_Defaults::$comment_meta_whitelist;
                break;
        }
        if ($default_array_value) {
            if (is_array($value)) {
                $value = array_unique(array_merge($value, $default_array_value));
            } else {
                $value = $default_array_value;
            }
        }
        self::$settings_cache[$setting] = $value;
        return $value;
    }

Usage Example

 static function prevent_publicize_blacklisted_posts($should_publicize, $post)
 {
     if (in_array($post->post_type, Jetpack_Sync_Settings::get_setting('post_types_blacklist'))) {
         return false;
     }
     return $should_publicize;
 }
All Usage Examples Of Jetpack_Sync_Settings::get_setting