function esplanade_validate_theme_options($input) { if (isset($input['submit-general']) || isset($input['reset-general'])) { if (!in_array($input['home_page_layout'], array('grid', 'blog'))) { $input['home_page_layout'] = esplanade_get_option('home_page_layout'); } if (!is_numeric(absint($input['home_page_excerpts'])) || $input['home_page_excerpts'] > get_option('posts_per_page') || '' == $input['home_page_excerpts']) { $input['home_page_excerpts'] = esplanade_get_option('home_page_excerpts'); } else { $input['home_page_excerpts'] = absint($input['home_page_excerpts']); } $input['slider'] = isset($input['slider']) ? true : false; $input['location'] = isset($input['location']) ? true : false; $input['breadcrumbs'] = isset($input['breadcrumbs']) ? true : false; $input['lightbox'] = isset($input['lightbox']) ? true : false; if (!in_array($input['posts_nav_labels'], array('next/prev', 'older/newer', 'earlier/later', 'numbered'))) { $input['posts_nav_labels'] = esplanade_get_option('posts_nav_labels'); } $input['fancy_dropdowns'] = isset($input['fancy_dropdowns']) ? true : false; $input['post_nav'] = isset($input['post_nav']) ? true : false; $input['facebook'] = isset($input['facebook']) ? true : false; $input['twitter'] = isset($input['twitter']) ? true : false; $input['google'] = isset($input['google']) ? true : false; $input['pinterest'] = isset($input['pinterest']) ? true : false; $input['author_box'] = isset($input['author_box']) ? true : false; $input['copyright_notice'] = esc_attr($input['copyright_notice']); $input['theme_credit_link'] = isset($input['theme_credit_link']) ? true : false; $input['author_credit_link'] = isset($input['author_credit_link']) ? true : false; $input['wordpress_credit_link'] = isset($input['wordpress_credit_link']) ? true : false; } elseif (isset($input['submit-layout']) || isset($input['reset-layout'])) { if (!in_array($input['layout'], array('content-sidebar', 'sidebar-content', 'sidebar-content-sidebar', 'no-sidebars', 'full-width'))) { $input['layout'] = esplanade_get_option('layout'); } $input['header_height'] = absint($input['header_height']); $input['sidebar_size'] = str_replace('"', '', $input['sidebar_size']); $input['sidebar_size'] = str_replace('%', '', $input['sidebar_size']); $input['sidebar_size'] = '"' . filter_var($input['sidebar_size'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION) . '%"'; $input['sidebar_left_size'] = str_replace('"', '', $input['sidebar_left_size']); $input['sidebar_left_size'] = str_replace('%', '', $input['sidebar_left_size']); $input['sidebar_left_size'] = '"' . filter_var($input['sidebar_left_size'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION) . '%"'; $input['sidebar_right_size'] = str_replace('"', '', $input['sidebar_right_size']); $input['sidebar_right_size'] = str_replace('%', '', $input['sidebar_right_size']); $input['sidebar_right_size'] = '"' . filter_var($input['sidebar_right_size'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION) . '%"'; $input['header_image_height'] = absint($input['header_image_height']); } elseif (isset($input['submit-design']) || isset($input['reset-general'])) { if (!in_array($input['color_scheme'], array('neutral', 'sand', 'nature', 'earth'))) { $input['color_scheme'] = esplanade_get_option('color_scheme'); } $input['user_css'] = esc_html($input['user_css']); } elseif (isset($input['submit-typography']) || isset($input['reset-typography'])) { $fonts = esplanade_available_fonts(); $units = array('px', 'pt', 'em', '%'); $input['body_font'] = array_key_exists($input['body_font'], $fonts) ? $input['body_font'] : esplanade_get_option('body_font'); $input['headings_font'] = array_key_exists($input['headings_font'], $fonts) ? $input['headings_font'] : esplanade_get_option('headings_font'); $input['content_font'] = array_key_exists($input['content_font'], $fonts) ? $input['content_font'] : esplanade_get_option('content_font'); $input['body_font_size'] = filter_var($input['body_font_size'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $input['body_font_size_unit'] = in_array($input['body_font_size_unit'], $units) ? $input['body_font_size_unit'] : esplanade_get_option('body_font_size_unit'); $input['body_line_height'] = filter_var($input['body_line_height'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $input['body_line_height_unit'] = in_array($input['body_line_height_unit'], $units) ? $input['body_line_height_unit'] : esplanade_get_option('body_line_height_unit'); $input['h1_font_size'] = filter_var($input['h1_font_size'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $input['h1_font_size_unit'] = in_array($input['h1_font_size_unit'], $units) ? $input['h1_font_size_unit'] : esplanade_get_option('h1_font_size_unit'); $input['h2_font_size'] = filter_var($input['h2_font_size'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $input['h2_font_size_unit'] = in_array($input['h2_font_size_unit'], $units) ? $input['h2_font_size_unit'] : esplanade_get_option('h2_font_size_unit'); $input['h3_font_size'] = filter_var($input['h3_font_size'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $input['h3_font_size_unit'] = in_array($input['h3_font_size_unit'], $units) ? $input['h3_font_size_unit'] : esplanade_get_option('h3_font_size_unit'); $input['h4_font_size'] = filter_var($input['h4_font_size'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $input['h4_font_size_unit'] = in_array($input['h4_font_size_unit'], $units) ? $input['h4_font_size_unit'] : esplanade_get_option('h4_font_size_unit'); $input['headings_line_height'] = filter_var($input['headings_line_height'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $input['headings_line_height_unit'] = in_array($input['headings_line_height_unit'], $units) ? $input['headings_line_height_unit'] : esplanade_get_option('headings_line_height_unit'); $input['content_font_size'] = filter_var($input['content_font_size'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $input['content_font_size_unit'] = in_array($input['content_font_size_unit'], $units) ? $input['content_font_size_unit'] : esplanade_get_option('content_font_size_unit'); $input['content_line_height'] = filter_var($input['content_line_height'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $input['content_line_height_unit'] = in_array($input['content_line_height_unit'], $units) ? $input['content_line_height_unit'] : esplanade_get_option('content_line_height_unit'); $input['mobile_font_size'] = filter_var($input['mobile_font_size'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $input['mobile_font_size_unit'] = in_array($input['mobile_font_size_unit'], $units) ? $input['mobile_font_size_unit'] : esplanade_get_option('mobile_font_size_unit'); $input['mobile_line_height'] = filter_var($input['mobile_line_height'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $input['mobile_line_height_unit'] = in_array($input['mobile_line_height_unit'], $units) ? $input['mobile_line_height_unit'] : esplanade_get_option('mobile_line_height_unit'); $input['body_color'] = esc_attr($input['body_color']); $input['headings_color'] = esc_attr($input['headings_color']); $input['content_color'] = esc_attr($input['content_color']); $input['links_color'] = esc_attr($input['links_color']); $input['links_hover_color'] = esc_attr($input['links_hover_color']); $input['menu_color'] = esc_attr($input['menu_color']); $input['menu_hover_color'] = esc_attr($input['menu_hover_color']); $input['sidebar_color'] = esc_attr($input['sidebar_color']); $input['sidebar_title_color'] = esc_attr($input['sidebar_title_color']); $input['sidebar_links_color'] = esc_attr($input['sidebar_links_color']); $input['footer_color'] = esc_attr($input['footer_color']); $input['footer_title_color'] = esc_attr($input['footer_title_color']); $input['footer_links_color'] = esc_attr($input['footer_links_color']); $input['copyright_color'] = esc_attr($input['copyright_color']); $input['copyright_links_color'] = esc_attr($input['copyright_links_color']); } elseif (isset($input['submit-seo']) || isset($input['reset-seo'])) { $tags = array('h1', 'h2', 'h3', 'p', 'div'); foreach ($input as $key => $tag) { if ('reset-seo' != $key && !in_array($tag, $tags)) { $input[$key] = esplanade_get_option($key); } } } if (isset($input['reset-general']) || isset($input['reset-layout']) || isset($input['reset-design']) || isset($input['reset-typography']) || isset($input['reset-seo'])) { $default_options = esplanade_default_options(); foreach ($input as $name => $value) { $input[$name] = $default_options[$name]; } } $input = wp_parse_args($input, get_option('esplanade_theme_options', esplanade_default_options())); return $input; }
/** * Adds template names to body_class filter * * The custom layouts are shared with the custom templates * and use the same style declarations * @since Esplanade 1.0 */ function esplanade_body_class($classes) { $default_options = esplanade_default_options(); if ('sidebar-content' == esplanade_get_option('layout')) { $classes[] = 'page-template-template-sidebar-content-php'; } elseif ('sidebar-content-sidebar' == esplanade_get_option('layout')) { $classes[] = 'page-template-template-sidebar-content-sidebar-php'; } elseif ('no-sidebars' == esplanade_get_option('layout') || !is_active_sidebar(2) && !is_active_sidebar(3) && !is_active_sidebar(4) && !is_active_sidebar(5)) { $classes[] = 'page-template-template-no-sidebars-php'; } elseif ('full-width' == esplanade_get_option('layout')) { $classes[] = 'page-template-template-full-width-php'; } return $classes; }