/** * Enqueue preview JS. * * @action customize_preview_init * @since 1.0.0 */ public function customize_preview_js() { $suffix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script('rock-customize-preview', get_template_directory_uri() . "/assets/js/admin/customizer{$suffix}.js", array('customize-preview'), ROCK_VERSION, true); wp_localize_script('rock-customize-preview', 'colorsSettings', array('hero_background_selector' => rock_get_hero_image_selector())); }
/** * Class constructor. */ public function __construct() { /** * Filter the registered color settings. * * @since 1.0.0 * * @var array */ $this->colors = (array) apply_filters('rock_colors', array('header_textcolor' => array('label' => esc_html__('Site Title Text', 'rock'), 'default' => '#ffffff', 'section' => 'colors-header', 'active_callback' => 'display_header_text', 'css' => array('.site-title a, .site-title a:visited' => array('color' => '%1$s')), 'rgba_css' => array('.site-title a:hover, .site-title a:visited:hover' => array('color' => 'rgba(%1$s, 0.8)'))), 'tagline_text_color' => array('label' => esc_html__('Tagline Text', 'rock'), 'default' => '#ffffff', 'section' => 'colors-header', 'active_callback' => 'display_header_text', 'css' => array('.site-description' => array('color' => '%1$s'))), 'hero_text_color' => array('label' => esc_html__('Hero Text', 'rock'), 'default' => '#ffffff', 'section' => 'colors-header', 'priority' => 20, 'css' => array('.hero, .hero .widget h1, .hero .widget h2, .hero .widget h3, .hero .widget h4, .hero .widget h5, .hero .widget h6, .hero .widget p, .hero .widget blockquote, .hero .widget cite, .hero .widget table, .hero .widget ul, .hero .widget ol, .hero .widget li, .hero .widget dd, .hero .widget dt, .hero .widget address, .hero .widget code, .hero .widget pre, .hero .widget .widget-title, .hero .page-header h1' => array('color' => '%1$s'))), 'menu_text_color' => array('label' => esc_html__('Text', 'rock'), 'default' => '#ffffff', 'section' => 'colors-menu', 'css' => array('.main-navigation ul li a, .main-navigation ul li a:visited, .main-navigation ul li a:hover, .main-navigation ul li a:visited:hover' => array('color' => '%1$s'), '.main-navigation .sub-menu .menu-item-has-children > a::after' => array('border-right-color' => '%1$s', 'border-left-color' => '%1$s'), '.menu-toggle div' => array('background-color' => '%1$s')), 'rgba_css' => array('.main-navigation ul li a:hover' => array('color' => 'rgba(%1$s, 0.8)'))), 'heading_text_color' => array('label' => esc_html__('Heading Text', 'rock'), 'description' => esc_html__('Post titles, widget titles, form labels, table headers and buttons.', 'rock'), 'default' => '#353535', 'section' => 'colors-content', 'css' => array('h1, h2, h3, h4, h5, h6, label, legend, table th, dl dt, .entry-title, .entry-title a, .entry-title a:visited, .widget-title' => array('color' => '%1$s')), 'rgba_css' => array('.entry-title a:hover, .entry-title a:visited:hover, .entry-title a:focus, .entry-title a:visited:focus, .entry-title a:active, .entry-title a:visited:active' => array('color' => 'rgba(%1$s, 0.8)'))), 'primary_text_color' => array('label' => esc_html__('Primary Text', 'rock'), 'description' => esc_html__('Paragraphs, lists, menu links, quotes and tables.', 'rock'), 'default' => '#252525', 'section' => 'colors-content', 'css' => array('body, input, select, textarea, input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, textarea:focus' => array('color' => '%1$s')), 'rgba_css' => array('hr' => array('background-color' => 'rgba(%1$s, 0.1)', 'border-color' => 'rgba(%1$s, 0.1)'), 'input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea' => array('color' => 'rgba(%1$s, 0.5)', 'border-color' => 'rgba(%1$s, 0.1)'), 'select, fieldset, blockquote, pre, code, abbr, acronym, .hentry table th, .hentry table td' => array('border-color' => 'rgba(%1$s, 0.1)'), '.hentry table tr:hover td' => array('background-color' => 'rgba(%1$s, 0.05)'))), 'secondary_text_color' => array('label' => esc_html__('Secondary Text', 'rock'), 'description' => esc_html__('Post bylines, comment counts, post footers and quote footers.', 'rock'), 'default' => '#686868', 'section' => 'colors-content', 'css' => array('blockquote, .entry-meta, .entry-footer, .comment-meta .says, .logged-in-as' => array('color' => '%1$s'))), 'footer_widget_heading_text_color' => array('label' => esc_html__('Widget Heading Text', 'rock'), 'default' => '#353535', 'section' => 'colors-footer', 'active_callback' => 'rock_has_active_footer_sidebars', 'css' => array('.site-footer .widget-title, .site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6' => array('color' => '%1$s'))), 'footer_widget_text_color' => array('label' => esc_html__('Widget Text', 'rock'), 'default' => '#252525', 'section' => 'colors-footer', 'active_callback' => 'rock_has_active_footer_sidebars', 'css' => array('.site-footer .widget' => array('color' => '%1$s'))), 'footer_menu_text_color' => array('label' => esc_html__('Menu Text', 'rock'), 'default' => '#686868', 'section' => 'colors-footer', 'priority' => 20, 'active_callback' => 'rock_has_footer_menu', 'css' => array('.footer-menu ul li a, .footer-menu ul li a:visited' => array('color' => '%1$s'), '.site-info-wrapper .social-menu a' => array('background-color' => '%1$s')), 'rgba_css' => array('.footer-menu ul li a:hover, .footer-menu ul li a:visited:hover' => array('color' => 'rgba(%1$s, 0.8)'))), 'footer_text_color' => array('label' => esc_html__('Copyright Text', 'rock'), 'default' => '#686868', 'section' => 'colors-footer', 'priority' => 30, 'css' => array('.site-info-wrapper .site-info-text' => array('color' => '%1$s'))), 'link_color' => array('label' => esc_html__('Link Text', 'rock'), 'default' => '#ff6663', 'section' => 'colors-content', 'css' => array('a, a:visited, .entry-title a:hover, .entry-title a:visited:hover .cat-links a, .tags-links a, .post-edit-link, .comments-link a, .edit-link a, .entry-footer a' => array('color' => '%1$s'), '.social-menu a:hover' => array('background-color' => '%1$s')), 'rgba_css' => array('a:hover, a:visited:hover, a:focus, a:visited:focus, a:active, a:visited:active' => array('color' => 'rgba(%1$s, 0.8)'), '.comment-list li.bypostauthor' => array('border-color' => 'rgba(%1$s, 0.2)'))), 'button_color' => array('label' => esc_html__('Background', 'rock'), 'default' => '#ff6663', 'section' => 'colors-buttons', 'css' => array('button, a.button, a.button:visited, input[type="button"], input[type="reset"], input[type="submit"], .site-info-wrapper .social-menu a:hover' => array('background-color' => '%1$s', 'border-color' => '%1$s')), 'rgba_css' => array('button:hover, button:active, button:focus, a.button:hover, a.button:active, a.button:focus, a.button:visited:hover, a.button:visited:active, a.button:visited:focus, input[type="button"]:hover, input[type="button"]:active, input[type="button"]:focus, input[type="reset"]:hover, input[type="reset"]:active, input[type="reset"]:focus, input[type="submit"]:hover, input[type="submit"]:active, input[type="submit"]:focus' => array('background-color' => 'rgba(%1$s, 0.8)', 'border-color' => 'rgba(%1$s, 0.8)'))), 'button_text_color' => array('label' => esc_html__('Text', 'rock'), 'default' => '#ffffff', 'section' => 'colors-buttons', 'css' => array('button, button:hover, button:active, button:focus, a.button, a.button:hover, a.button:active, a.button:focus, a.button:visited, a.button:visited:hover, a.button:visited:active, a.button:visited:focus, input[type="button"], input[type="button"]:hover, input[type="button"]:active, input[type="button"]:focus, input[type="reset"], input[type="reset"]:hover, input[type="reset"]:active, input[type="reset"]:focus, input[type="submit"], input[type="submit"]:hover, input[type="submit"]:active, input[type="submit"]:focus' => array('color' => '%1$s'))), 'background_color' => array('label' => esc_html__('Page Background', 'rock'), 'default' => '#f5f5f5', 'section' => 'colors-content', 'css' => array('body' => array('background-color' => '%1$s'))), 'content_background_color' => array('label' => esc_html__('Content Background', 'rock'), 'default' => '#ffffff', 'section' => 'colors-content', 'css' => array('.hentry, .widget, #page > .page-title-container' => array('background-color' => '%1$s'))), 'hero_background_color' => array('label' => esc_html__('Hero Background', 'rock'), 'default' => '#0b3954', 'section' => 'colors-header', 'priority' => 20, 'css' => array(rock_get_hero_image_selector() => array('background-color' => '%1$s')), 'rgba_css' => array(rock_get_hero_image_selector() => array('-webkit-box-shadow' => 'inset 0 0 0 9999em', '-moz-box-shadow' => 'inset 0 0 0 9999em', 'box-shadow' => 'inset 0 0 0 9999em', 'color' => sprintf('rgba(%%1$s, %s)', $this->get_color_overlay_transparency_value())))), 'menu_background_color' => array('label' => esc_html__('Background', 'rock'), 'default' => '#0b3954', 'section' => 'colors-menu', 'css' => array('.main-navigation-container, .main-navigation.open, .main-navigation ul ul, .main-navigation .sub-menu' => array('background-color' => '%1$s'))), 'footer_widget_background_color' => array('label' => esc_html__('Widgets Background', 'rock'), 'default' => '#0b3954', 'section' => 'colors-footer', 'active_callback' => 'rock_has_active_footer_sidebars', 'css' => array('.site-footer' => array('background-color' => '%1$s'))), 'footer_widget_content_background_color' => array('label' => esc_html__('Widget Content Background', 'rock'), 'default' => '#ffffff', 'section' => 'colors-footer', 'active_callback' => 'rock_has_active_footer_sidebars', 'css' => array('.site-footer .widget' => array('background-color' => '%1$s'))), 'footer_background_color' => array('label' => esc_html__('Footer Background', 'rock'), 'default' => '#f5f5f5', 'section' => 'colors-footer', 'priority' => 30, 'css' => array('.site-info-wrapper' => array('background-color' => '%1$s'), '.site-info-wrapper .social-menu a, .site-info-wrapper .social-menu a:visited, .site-info-wrapper .social-menu a:hover, .site-info-wrapper .social-menu a:visited:hover' => array('color' => '%1$s'))))); if (!$this->colors) { return; } /** * Custom color scheme stub. * * The `_custom` color scheme key is used only when the user * diverges from a predefined scheme. This stub is required * and not filterable. * * @since 1.0.0 * * @var array */ $custom_scheme = array('_custom' => array('label' => sprintf('- %s -', esc_html__('Custom', 'rock')))); /** * Default color scheme. * * The `default` color scheme is required and not filterable. * If you want to customize values in this scheme, do so via * a `rock_colors` filter in your Child Theme. * * @since 1.0.0 * * @var array */ $default_scheme = array('default' => array('label' => esc_html__('Default', 'rock'), 'colors' => array_combine(array_keys($this->colors), wp_list_pluck($this->colors, 'default')))); $color_schemes = array('blush' => array('label' => esc_html_x('Blush', 'color scheme name', 'rock'), 'base' => '#cc494f'), 'bronze' => array('label' => esc_html_x('Bronze', 'color scheme name', 'rock'), 'base' => '#b1a18b'), 'canary' => array('label' => esc_html_x('Canary', 'color scheme name', 'rock'), 'base' => '#e9c46a'), 'cool' => array('label' => esc_html_x('Cool', 'color scheme name', 'rock'), 'base' => '#78c3fb'), 'dark' => array('label' => esc_html_x('Dark', 'color scheme name', 'rock'), 'base' => '#222222'), 'iguana' => array('label' => esc_html_x('Iguana', 'color scheme name', 'rock'), 'base' => '#62bf7c'), 'muted' => array('label' => esc_html_x('Muted', 'color scheme name', 'rock'), 'base' => '#3e4c75'), 'plum' => array('label' => esc_html_x('Plum', 'color scheme name', 'rock'), 'base' => '#5d5179'), 'rose' => array('label' => esc_html_x('Rose', 'color scheme name', 'rock'), 'base' => '#f49390'), 'tangerine' => array('label' => esc_html_x('Tangerine', 'color scheme name', 'rock'), 'base' => '#fc9e4f'), 'turquoise' => array('label' => esc_html_x('Turquoise', 'color scheme name', 'rock'), 'base' => '#48e5c2')); /** * Use default colors as starting point for every scheme. */ foreach ($color_schemes as &$args) { $args['colors'] = $default_scheme['default']['colors']; } if (!is_child_theme()) { $overrides = array('blush' => array('colors' => array('link_color' => $color_schemes['blush']['base'], 'button_color' => $color_schemes['blush']['base'], 'hero_background_color' => $color_schemes['blush']['base'], 'menu_background_color' => $color_schemes['blush']['base'], 'footer_widget_background_color' => $color_schemes['blush']['base'])), 'bronze' => array('colors' => array('link_color' => $color_schemes['bronze']['base'], 'button_color' => $color_schemes['bronze']['base'], 'hero_background_color' => $color_schemes['bronze']['base'], 'menu_background_color' => $color_schemes['bronze']['base'], 'footer_widget_background_color' => $color_schemes['bronze']['base'])), 'canary' => array('colors' => array('link_color' => $color_schemes['canary']['base'], 'button_color' => $color_schemes['canary']['base'], 'hero_background_color' => $color_schemes['canary']['base'], 'menu_background_color' => $color_schemes['canary']['base'], 'footer_widget_background_color' => $color_schemes['canary']['base'])), 'cool' => array('colors' => array('link_color' => $color_schemes['cool']['base'], 'button_color' => $color_schemes['cool']['base'], 'hero_background_color' => $color_schemes['cool']['base'], 'menu_background_color' => $color_schemes['cool']['base'], 'footer_widget_background_color' => $color_schemes['cool']['base'])), 'dark' => array('colors' => array('tagline_text_color' => '#999999', 'heading_text_color' => '#ffffff', 'primary_text_color' => '#e5e5e5', 'secondary_text_color' => '#c1c1c1', 'footer_widget_heading_text_color' => '#ffffff', 'footer_widget_text_color' => '#ffffff', 'background_color' => '#222222', 'content_background_color' => '#333333', 'hero_background_color' => '#282828', 'menu_background_color' => '#333333', 'footer_widget_content_background_color' => '#333333', 'footer_widget_background_color' => '#282828', 'footer_background_color' => '#222222')), 'iguana' => array('colors' => array('link_color' => $color_schemes['iguana']['base'], 'button_color' => $color_schemes['iguana']['base'], 'hero_background_color' => $color_schemes['iguana']['base'], 'menu_background_color' => $color_schemes['iguana']['base'], 'footer_widget_background_color' => $color_schemes['iguana']['base'])), 'muted' => array('colors' => array('heading_text_color' => '#4f5875', 'primary_text_color' => '#4f5875', 'secondary_text_color' => '#888c99', 'footer_widget_heading_text_color' => '#4f5875', 'footer_widget_text_color' => '#4f5875', 'footer_menu_text_color' => $color_schemes['muted']['base'], 'footer_text_color' => '#4f5875', 'link_color' => $color_schemes['muted']['base'], 'button_color' => $color_schemes['muted']['base'], 'background_color' => '#d5d6e0', 'hero_background_color' => '#5a6175', 'menu_background_color' => '#5a6175', 'footer_widget_background_color' => '#5a6175', 'footer_background_color' => '#d5d6e0')), 'plum' => array('colors' => array('link_color' => $color_schemes['plum']['base'], 'button_color' => $color_schemes['plum']['base'], 'hero_background_color' => $color_schemes['plum']['base'], 'menu_background_color' => $color_schemes['plum']['base'], 'footer_widget_background_color' => $color_schemes['plum']['base'])), 'rose' => array('colors' => array('link_color' => $color_schemes['rose']['base'], 'button_color' => $color_schemes['rose']['base'], 'hero_background_color' => $color_schemes['rose']['base'], 'menu_background_color' => $color_schemes['rose']['base'], 'footer_widget_background_color' => $color_schemes['rose']['base'])), 'tangerine' => array('colors' => array('link_color' => $color_schemes['tangerine']['base'], 'button_color' => $color_schemes['tangerine']['base'], 'hero_background_color' => $color_schemes['tangerine']['base'], 'menu_background_color' => $color_schemes['tangerine']['base'], 'footer_widget_background_color' => $color_schemes['tangerine']['base'])), 'turquoise' => array('colors' => array('link_color' => $color_schemes['turquoise']['base'], 'button_color' => $color_schemes['turquoise']['base'], 'hero_background_color' => $color_schemes['turquoise']['base'], 'menu_background_color' => $color_schemes['turquoise']['base'], 'footer_widget_background_color' => $color_schemes['turquoise']['base']))); $color_schemes = rock_array_replace_recursive($color_schemes, $overrides); } /** * Filter the available color schemes. * * @since 1.0.0 * * @var array */ $color_schemes = (array) apply_filters('rock_color_schemes', $color_schemes); // Remove any invalid color schemes $color_schemes = array_filter($color_schemes, array($this, 'is_valid_color_scheme_array')); ksort($color_schemes); $this->color_schemes = $custom_scheme + $default_scheme + $color_schemes; add_action('customize_register', array($this, 'colors')); add_action('customize_register', array($this, 'color_scheme')); add_action('customize_register', array($this, 'color_overlay_transparency')); add_action('customize_controls_enqueue_scripts', array($this, 'colors_control_js')); add_action('customize_controls_print_footer_scripts', array($this, 'colors_preview_css')); add_action('wp_enqueue_scripts', array($this, 'enqueue_colors_inline_css'), 11); add_action('after_setup_theme', array($this, 'header')); add_action('after_setup_theme', array($this, 'background')); }
/** * Enqueue theme scripts and styles. * * @link https://codex.wordpress.org/Function_Reference/wp_enqueue_style * @link https://codex.wordpress.org/Function_Reference/wp_enqueue_script * @since 1.0.0 */ function rock_scripts() { $stylesheet = get_stylesheet(); $suffix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_style($stylesheet, get_stylesheet_uri(), false, defined('ROCK_CHILD_VERSION') ? ROCK_CHILD_VERSION : ROCK_VERSION); wp_style_add_data($stylesheet, 'rtl', 'replace'); wp_enqueue_script('rock-navigation', get_template_directory_uri() . "/assets/js/navigation{$suffix}.js", array('jquery'), ROCK_VERSION, true); wp_enqueue_script('rock-skip-link-focus-fix', get_template_directory_uri() . "/assets/js/skip-link-focus-fix{$suffix}.js", array(), ROCK_VERSION, true); wp_enqueue_script('rock-fitvids', get_template_directory_uri() . "/assets/js/fitvids{$suffix}.js", array('jquery'), ROCK_VERSION, true); if (is_singular() && comments_open() && get_option('thread_comments')) { wp_enqueue_script('comment-reply'); } if (rock_has_hero_image()) { wp_add_inline_style($stylesheet, sprintf('%s { background-image: url(%s); }', rock_get_hero_image_selector(), esc_url(rock_get_hero_image()))); } }