Ejemplo n.º 1
0
/**
 * Add color scheme targets for Beaver Builder elements.
 *
 * @filter rock_colors
 * @since  1.0.0
 *
 * @param  array $colors
 *
 * @return array
 */
function rock_bb_colors($colors)
{
    $bb_colors = array('primary_text_color' => array('css' => array('.fl-callout-text,
				.fl-rich-text' => array('color' => '%1$s'))), 'button_color' => array('css' => array('a.fl-button,
				a.fl-button:visited,
				.content-area .fl-builder-content a.fl-button,
				.content-area .fl-builder-content a.fl-button:visited' => array('background-color' => '%1$s', 'border-color' => '%1$s')), 'rgba_css' => array('a.fl-button:hover,
				a.fl-button:active,
				a.fl-button:focus,
				a.fl-button:visited:hover,
				a.fl-button:visited:active,
				a.fl-button:visited:focus,
				.content-area .fl-builder-content a.fl-button:hover,
				.content-area .fl-builder-content a.fl-button:active,
				.content-area .fl-builder-content a.fl-button:focus,
				.content-area .fl-builder-content a.fl-button:visited:hover,
				.content-area .fl-builder-content a.fl-button:visited:active,
				.content-area .fl-builder-content a.fl-button:visited:focus' => array('background-color' => 'rgba(%1$s, 0.8)', 'border-color' => 'rgba(%1$s, 0.8)'))), 'button_text_color' => array('css' => array('a.fl-button
				a.fl-button:hover,
				a.fl-button:active,
				a.fl-button:focus,
				a.fl-button:visited,
				a.fl-button:visited:hover,
				a.fl-button:visited:active,
				a.fl-button:visited:focus,
				.content-area .fl-builder-content a.fl-button,
				.content-area .fl-builder-content a.fl-button *,
				.content-area .fl-builder-content a.fl-button:visited,
				.content-area .fl-builder-content a.fl-button:visited *' => array('color' => '%1$s'))));
    return rock_array_replace_recursive($colors, $bb_colors);
}
Ejemplo n.º 2
0
/**
 * Add color scheme targets for WooCommerce elements.
 *
 * @filter rock_colors
 * @since  1.0.0
 *
 * @param  array $colors
 *
 * @return array
 */
function rock_wc_colors($colors)
{
    $wc_colors = array('button_color' => array('css' => array('.woocommerce button.button.alt,
				.woocommerce a.button,
				.woocommerce a.button.alt,
				.woocommerce #respond input#submit,
				.woocommerce .product span.onsale' => array('background-color' => '%1$s', 'border-color' => '%1$s')), 'rgba_css' => array('.woocommerce button.button.alt:hover, .woocommerce button.button.alt:active, .woocommerce button.button.alt:focus,
				.woocommerce a.button:hover, .woocommerce a.button:active, .woocommerce a.button:focus,
				.woocommerce a.button.alt:hover, .woocommerce a.button.alt:active, .woocommerce a.button.alt:focus,
				.woocommerce #respond input#submit:hover' => array('background-color' => 'rgba(%1$s, 0.8)', 'border-color' => 'rgba(%1$s, 0.8)'))), 'button_text_color' => array('css' => array('.woocommerce button.button.alt, .woocommerce button.button.alt:hover,
				.woocommerce a.button, .woocommerce a.button:visited, .woocommerce a.button:hover, .woocommerce a.button:visited:hover,
				.woocommerce a.button.alt, .woocommerce a.button.alt:visited, .woocommerce a.button.alt:hover, .woocommerce a.button.alt:visited:hover,
				.woocommerce #respond input#submit, .woocommerce #respond input#submit:hover,
				.woocommerce .product span.onsale' => array('color' => '%1$s'))));
    return rock_array_replace_recursive($colors, $wc_colors);
}
Ejemplo n.º 3
0
    /**
     * 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'));
    }