formatter(); $config = !empty($config) ? $config : []; // primary color $primary_color = get_theme_mod('wpw_primary_colors'); $primary_color = (!empty($primary_color) && is_string($primary_color)) ? json_decode(urldecode($primary_color)) : null; $primary_color = (isset($primary_color[0]) && !empty($primary_color[0])) ? $primary_color[0] : '#000'; // accent color $accent_color = get_theme_mod('wpw_accent_colors'); $accent_color = (!empty($accent_color) && is_string($accent_color)) ? json_decode(urldecode($accent_color)) : null; $accent_color = (isset($accent_color[0]) && !empty($accent_color[0])) ? $accent_color[0] : '#ffab00'; // -------------- default ---------------- // $bg_color = (isset($config['scroll_top_bg_color']) && !empty($config['scroll_top_bg_color'])) ? $config['scroll_top_bg_color'] : ''; $bg_color = Wpw::inst()->storage()->get($bg_color); $icon_color = (isset($config['scroll_top_fg_color']) && !empty($config['scroll_top_fg_color'])) ? $config['scroll_top_fg_color'] : ''; $icon_color = Wpw::inst()->storage()->get($icon_color); $border_style = (isset($config['scroll_top_border_style']) && !empty($config['scroll_top_border_style'])) ? $config['scroll_top_border_style'] : null; $border_model = (isset($config['scroll_top_scroll_top_border_model']) && !empty($config['scroll_top_scroll_top_border_model'])) ? $config['scroll_top_scroll_top_border_model'] : null; $border_color = (isset($config['scroll_top_border_color']) && !empty($config['scroll_top_border_color'])) ? $config['scroll_top_border_color'] : null; $border_color = Wpw::inst()->storage()->get($border_color); $border = $formatter->css_border_simplify($border_style, $border_model, $border_color); $border_radius = (isset($config['scroll_top_scroll_top_border_radius']) && !empty($config['scroll_top_scroll_top_border_radius'])) ? $config['scroll_top_scroll_top_border_radius'] : null; $border_radius = $formatter->css_spacing($border_radius); $margin = (isset($config['scroll_top_margin']) && !empty($config['scroll_top_margin'])) ? $config['scroll_top_margin'] : null; $margin = $formatter->css_spacing($margin); $padding = (isset($config['scroll_top_padding']) && !empty($config['scroll_top_padding'])) ? $config['scroll_top_padding'] : [ 'top' => [ 'number' => 20, ], 'bottom' => [ 'number' => 20, ], 'right' => [ 'number' => 20, ], 'left' => [ 'number' => 20, ], ]; $padding = $formatter->css_spacing($padding); // ------------- hover ------------------- // $hover_bg_color = (isset($config['scroll_top_hover_bg_color']) && !empty($config['scroll_top_hover_bg_color'])) ? $config['scroll_top_hover_bg_color'] : ''; $hover_bg_color = Wpw::inst()->storage()->get($hover_bg_color); $hover_icon_color = (isset($config['scroll_top_hover_fg_color']) && !empty($config['scroll_top_hover_fg_color'])) ? $config['scroll_top_hover_fg_color'] : ''; $hover_icon_color = Wpw::inst()->storage()->get($hover_icon_color); $hover_border_style = (isset($config['scroll_top_hover_border_style']) && !empty($config['scroll_top_hover_border_style'])) ? $config['scroll_top_hover_border_style'] : null; $hover_borer_model = (isset($config['scroll_top_hover_scroll_top_border_model']) && !empty($config['scroll_top_hover_scroll_top_border_model'])) ? $config['scroll_top_hover_scroll_top_border_model'] : null; $hover_border_color = (isset($config['scroll_top_hover_border_color']) && !empty($config['scroll_top_hover_border_color'])) ? $config['scroll_top_hover_border_color'] : null; $hover_border_color = Wpw::inst()->storage()->get($hover_border_color); $hover_border = $formatter->css_border_simplify($hover_border_style, $hover_borer_model, $hover_border_color); $hover_border_radius = (isset($config['scroll_top_hover_scroll_top_border_radius']) && !empty($config['scroll_top_hover_scroll_top_border_radius'])) ? $config['scroll_top_hover_scroll_top_border_radius'] : null; $hover_border_radius = $formatter->css_spacing($hover_border_radius); // visibility $scroll_show_desktop = !empty($config['scroll_top_show_desktop']) ? $config['scroll_top_show_desktop'] : 'on'; $scroll_show_desktop = $scroll_show_desktop == 'on' ? '' : 'none'; $scroll_show_tablet = !empty($config['scroll_top_show_tablet']) ? $config['scroll_top_show_tablet'] : 'on'; $scroll_show_tablet = $scroll_show_tablet == 'on' ? '' : 'none'; $scroll_show_phone = !empty($config['scroll_top_show_phone']) ? $config['scroll_top_show_phone'] : 'on'; $scroll_show_phone = $scroll_show_phone == 'on' ? '' : 'none'; // font size $_size = get_theme_mod('wpw_body_font_size'); if (empty($_size) || strlen($_size) < 5) { $_size = '%7B%22number%22%3A%2214%22%2C%22unit%22%3A%22%22%7D'; } $form_default_icons = Wpw::inst()->formatter()->parse_mod('wpw_form_icons'); $size = !empty($form_default_icons['form_icon_size']) ? $form_default_icons['form_icon_size'] : $_size; $scroll_top_icon_size = !empty($config['scroll_top_icon_size']) ? $config['scroll_top_icon_size'] : $size; $scroll_top_icon_size = $formatter->css_scalar($scroll_top_icon_size); echo /** @lang CSS */ ' a.button.scroll-top-button:not(.button-secondary) { background-color: ' . $bg_color . '; color: ' . $icon_color . '; border-radius: ' . $border_radius . '; padding: ' . $padding . '; margin: ' . $margin . '; line-height: 1; ' . $border . ' } a.button.scroll-top-button:not(.button-secondary) i[class*="ib-"] { font-size: ' . $scroll_top_icon_size . '; color: ' . $icon_color . '; } a.button.scroll-top-button:not(.button-secondary) img { height: ' . $scroll_top_icon_size . '; } a.button.scroll-top-button:not(.button-secondary):hover { background-color: ' . $hover_bg_color . '; color: ' . $hover_icon_color . '; border-radius: ' . $hover_border_radius . '; line-height: 1; ' . $hover_border . ' } a.button.scroll-top-button:not(.button-secondary):hover i[class*="ib-"] { color: ' . $hover_icon_color . '; } @media (min-width: 0px) and (max-width: 767px) { a.button.scroll-top-button:not(.button-secondary) { display: ' . $scroll_show_phone . ' } } @media (min-width: 768px) and (max-width: 991px) { a.button.scroll-top-button:not(.button-secondary) { display: ' . $scroll_show_tablet . ' } } @media (min-width: 992px) { a.button.scroll-top-button:not(.button-secondary) { display: ' . $scroll_show_desktop . ' } } ';