'section', 'id' => self::SECTION_ID, 'title' => __( 'Button Settings', 'brandy' ), 'panel' => GeneralPanel::PANEL_ID, 'type' => 'brandy-section', 'description_hidden' => true, ); $configurations[] = array( 'configuration_type' => 'control', 'id' => self::SECTION_ID, 'label' => __( 'Button Settings', 'brandy' ), 'section' => self::SECTION_ID, 'type' => 'brandy_settings', 'input_attrs' => array( 'value' => '', 'style' => 'display:none;', ), 'partial' => false, 'default' => self::default_settings(), 'transport' => 'postMessage', ); return $configurations; } public static function default_settings() { return [ 'type' => 'default', 'color' => 'var(--wp--preset--color--brandy-primary-text)', 'hoverColor' => 'var(--wp--preset--color--brandy-primary-text)', 'textColor' => 'var(--wp--preset--color--white)', 'textHoverColor' => 'var(--wp--preset--color--white)', ]; } public function print_global_css() { if ( ! is_customize_preview() ) { return; } $global_styles = wp_get_global_styles(); $color = $global_styles['elements']['button']['color']['background']; $hoverColor = $global_styles['elements']['button'][':hover']['color']['background']; $textColor = $global_styles['elements']['button']['color']['text']; $textHoverColor = $global_styles['elements']['button'][':hover']['color']['text']; $button_settings = ButtonService::get_settings(); $button_variables = []; if ( isset($button_settings['primaryColor']) ) { $button_variables[] = "--button-primary: {$button_settings['primaryColor']};"; } if ( isset($button_settings['primaryHoverColor']) ) { $button_variables[] = "--button-primary-hover: {$button_settings['primaryHoverColor']};"; } if ( isset($button_settings['primaryTextColor']) ) { $button_variables[] = "--button-primary-text: {$button_settings['primaryTextColor']};"; } if ( isset($button_settings['primaryTextHoverColor']) ) { $button_variables[] = "--button-primary-text-hover: {$button_settings['primaryTextHoverColor']};"; } if ( ! empty( $button_variables ) ) { echo " body { " . implode( '', $button_variables ) . "} "; } echo " body.custom-button-style .wp-block-button:not(.is-style-outline) .wp-element-button { background-color: var(--button-primary, $color); color: var(--button-primary-text, $textColor); } body.custom-button-style .wp-block-button:not(.is-style-outline) .wp-element-button:hover { background-color: var(--button-primary-hover, $hoverColor); color: var(--button-primary-text-hover, $textHoverColor); } body.custom-button-style .wp-block-button.is-style-outline .wp-element-button { background-color: #ffffff00; border-color: var(--button-primary, $color); color: var(--button-primary, $color); } body.custom-button-style .wp-block-button.is-style-outline .wp-element-button:hover { background-color: var(--button-primary, $color); border-color: var(--button-primary, $color); color: var(--button-primary-text, $textColor); } "; } }