/**
 * Retrieve Theme option settings
 */
function responsive_get_options() {
  // Globalize the variable that holds the Theme options
  global $responsive_options;
  // Parse array of option defaults against user-configured Theme options
  $responsive_options = wp_parse_args( get_option( 'responsive_theme_options', array() ), responsive_get_option_defaults() );
  // Return parsed args array
  return $responsive_options;
}
示例#2
0
/**
 * Sanitize and validate input. Accepts an array, return a sanitized array.
 */
function responsive_theme_options_validate($input)
{
    global $responsive_options;
    $defaults = responsive_get_option_defaults();
    if (isset($input['reset'])) {
        $input = $defaults;
    } else {
        // checkbox value is either 0 or 1
        foreach (array('breadcrumb', 'cta_button', 'front_page') as $checkbox) {
            if (!isset($input[$checkbox])) {
                $input[$checkbox] = null;
            }
            $input[$checkbox] = $input[$checkbox] == 1 ? 1 : 0;
        }
        foreach (array('static_page_layout_default', 'single_post_layout_default', 'blog_posts_index_layout_default') as $layout) {
            $input[$layout] = isset($input[$layout]) && array_key_exists($input[$layout], responsive_get_valid_layouts()) ? $input[$layout] : $responsive_options[$layout];
        }
        foreach (array('home_headline', 'home_subheadline', 'home_content_area', 'cta_text', 'cta_url', 'featured_content') as $content) {
            $input[$content] = in_array($input[$content], array($defaults[$content], '')) ? $defaults[$content] : wp_kses_stripslashes($input[$content]);
        }
        $input['google_site_verification'] = isset($input['google_site_verification']) ? wp_filter_post_kses($input['google_site_verification']) : null;
        $input['bing_site_verification'] = isset($input['bing_site_verification']) ? wp_filter_post_kses($input['bing_site_verification']) : null;
        $input['yahoo_site_verification'] = isset($input['yahoo_site_verification']) ? wp_filter_post_kses($input['yahoo_site_verification']) : null;
        $input['site_statistics_tracker'] = isset($input['site_statistics_tracker']) ? wp_kses_stripslashes($input['site_statistics_tracker']) : null;
        $input['twitter_uid'] = esc_url_raw($input['twitter_uid']);
        $input['facebook_uid'] = esc_url_raw($input['facebook_uid']);
        $input['linkedin_uid'] = esc_url_raw($input['linkedin_uid']);
        $input['youtube_uid'] = esc_url_raw($input['youtube_uid']);
        $input['stumble_uid'] = esc_url_raw($input['stumble_uid']);
        $input['rss_uid'] = esc_url_raw($input['rss_uid']);
        $input['google_plus_uid'] = esc_url_raw($input['google_plus_uid']);
        $input['instagram_uid'] = esc_url_raw($input['instagram_uid']);
        $input['pinterest_uid'] = esc_url_raw($input['pinterest_uid']);
        $input['yelp_uid'] = esc_url_raw($input['yelp_uid']);
        $input['vimeo_uid'] = esc_url_raw($input['vimeo_uid']);
        $input['foursquare_uid'] = esc_url_raw($input['foursquare_uid']);
        $input['responsive_inline_css'] = wp_kses_stripslashes($input['responsive_inline_css']);
        $input['responsive_inline_js_head'] = wp_kses_stripslashes($input['responsive_inline_js_head']);
        $input['responsive_inline_js_footer'] = wp_kses_stripslashes($input['responsive_inline_js_footer']);
        $input = apply_filters('responsive_options_validate', $input);
    }
    return $input;
}