oont-contents/plugins/astra-addon/addons/sticky-header/classes/dynamic-css/site-layouts-dynamic.css.php
2025-02-08 15:10:23 +01:00

96 lines
3.3 KiB
PHP

<?php
/**
* Sticky Header for Site Layouts Dynamic CSS
*
* @package Astra Addon
*/
add_filter( 'astra_addon_dynamic_css', 'astra_ext_sticky_header_with_site_layouts_dynamic_css' );
/**
* Dynamic CSS
*
* @param string $dynamic_css Astra Dynamic CSS.
* @param string $dynamic_css_filtered Astra Dynamic CSS Filters.
* @return string
*/
function astra_ext_sticky_header_with_site_layouts_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) {
$stick_header = astra_get_option_meta( 'stick-header-meta' );
$stick_header_main_meta = astra_get_option_meta( 'header-main-stick-meta' );
$stick_header_above_meta = astra_get_option_meta( 'header-above-stick-meta' );
$stick_header_below_meta = astra_get_option_meta( 'header-below-stick-meta' );
$stick_header_main = astra_get_option( 'header-main-stick' );
$stick_header_above = astra_get_option( 'header-above-stick' );
$stick_header_below = astra_get_option( 'header-below-stick' );
$site_layout = astra_get_option( 'site-layout' );
if ( ! $stick_header_main && ! $stick_header_above && ! $stick_header_below && ( 'disabled' !== $stick_header && empty( $stick_header ) && ( empty( $stick_header_above_meta ) || empty( $stick_header_below_meta ) || empty( $stick_header_main_meta ) ) ) ) {
return $dynamic_css;
}
$parse_css = '';
$css = '';
/**
* Sticky Header with Site Layouts
*/
$page_width = '100%';
if ( 'ast-box-layout' == $site_layout ) {
$page_width = astra_get_option( 'site-layout-box-width' ) . 'px';
}
if ( 'ast-padded-layout' == $site_layout ) {
$padded_layout_padding = astra_get_option( 'site-layout-padded-pad' );
/**
* Padded layout Desktop Spacing
*/
$padded_layout_spacing = array(
'#ast-fixed-header' => array(
'top' => astra_responsive_spacing( $padded_layout_padding, 'top', 'desktop' ),
'left' => astra_responsive_spacing( $padded_layout_padding, 'left', 'desktop' ),
'margin' => esc_attr( 0 ),
),
);
/**
* Padded layout Tablet Spacing
*/
$tablet_padded_layout_spacing = array(
'#ast-fixed-header' => array(
'top' => astra_responsive_spacing( $padded_layout_padding, 'top', 'tablet' ),
'left' => astra_responsive_spacing( $padded_layout_padding, 'left', 'tablet' ),
'margin' => esc_attr( 0 ),
),
);
/**
* Padded layout Mobile Spacing
*/
$mobile_padded_layout_spacing = array(
'#ast-fixed-header' => array(
'top' => astra_responsive_spacing( $padded_layout_padding, 'top', 'mobile' ),
'left' => astra_responsive_spacing( $padded_layout_padding, 'left', 'mobile' ),
'margin' => esc_attr( 0 ),
),
);
$parse_css .= astra_parse_css( $padded_layout_spacing );
$parse_css .= astra_parse_css( $tablet_padded_layout_spacing, '', astra_addon_get_tablet_breakpoint() );
$parse_css .= astra_parse_css( $mobile_padded_layout_spacing, '', astra_addon_get_mobile_breakpoint() );
}
$css .= '.ast-above-header, .main-header-bar, .ast-below-header {';
$css .= '-webkit-transition: all 0.2s linear;';
$css .= 'transition: all 0.2s linear;';
$css .= '}';
$css .= '.ast-above-header, .main-header-bar, .ast-below-header {';
$css .= 'max-width:' . esc_attr( $page_width ) . ';';
$css .= '}';
$parse_css .= $css;
return $dynamic_css . $parse_css;
}