oont-contents/plugins/astra-addon/addons/advanced-hooks/classes/ext-advanced-hooks-dynamic.css.php
2025-02-08 15:10:23 +01:00

103 lines
3.1 KiB
PHP

<?php
/**
* Advanced Hooks - Dynamic CSS
*
* @package Astra Addon
*/
add_filter( 'astra_addon_dynamic_css', 'astra_ext_advanced_hooks_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_advanced_hooks_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) {
$css = '';
$common_desktop_css_output = array(
'.ast-hide-display-device-desktop' => array(
'display' => 'none',
),
'[class^="astra-advanced-hook-"] .wp-block-query .wp-block-post-template .wp-block-post' => array(
'width' => '100%',
),
);
$common_tablet_css_output = array(
'.ast-hide-display-device-tablet' => array(
'display' => 'none',
),
);
$common_mobile_css_output = array(
'.ast-hide-display-device-mobile' => array(
'display' => 'none',
),
);
if ( Astra_Addon_Update_Filter_Function::astra_addon_update_site_templates_headings_space() ) {
$default_css = array(
'h1, h2, h3, h4, h5, h6' => array(
'margin-bottom' => '20px',
),
);
$css .= astra_parse_css( $default_css );
}
if ( Astra_Addon_Builder_Helper::apply_flex_based_css() ) {
$option = array(
'location' => 'ast-advanced-hook-location',
'exclusion' => 'ast-advanced-hook-exclusion',
'users' => 'ast-advanced-hook-users',
);
$result = Astra_Target_Rules_Fields::get_instance()->get_posts_by_conditions( ASTRA_ADVANCED_HOOKS_POST_TYPE, $option );
if ( $result ) {
foreach ( $result as $post_id => $post_data ) {
$post_type = get_post_type();
if ( ASTRA_ADVANCED_HOOKS_POST_TYPE !== $post_type ) {
$action = get_post_meta( $post_id, 'ast-advanced-hook-action', true );
$layout = get_post_meta( $post_id, 'ast-advanced-hook-layout', true );
$template_type = get_post_meta( $post_id, 'ast-advanced-hook-template-type', true );
if ( ( $action && ( 'astra_content_top' === $action || 'astra_content_bottom' === $action ) ) || ( 'template' === $layout ) || ( apply_filters( 'astra_addon_cl_ast_container_fullwidth', false ) ) ) {
$common_desktop_css_output['.site-content .ast-container'] = array(
'flex-wrap' => 'wrap',
);
$common_desktop_css_output['[class^="astra-advanced-hook-"], [class*="astra-advanced-hook-"]'] = array(
'width' => '100%',
);
break;
}
}
if ( is_callable( 'FLBuilderModel::is_builder_enabled' ) && FLBuilderModel::is_builder_enabled() ) {
$common_desktop_css_output['.site-content .ast-container'] = array(
'flex-wrap' => 'wrap',
);
$common_desktop_css_output['[class^="astra-advanced-hook-"], [class*="astra-advanced-hook-"]'] = array(
'width' => '100%',
);
}
}
}
}
// Common options of Above Header.
$css .= astra_parse_css( $common_desktop_css_output, astra_addon_get_tablet_breakpoint( '', 1 ) );
$css .= astra_parse_css( $common_tablet_css_output, astra_addon_get_mobile_breakpoint( '', 1 ), astra_addon_get_tablet_breakpoint() );
$css .= astra_parse_css( $common_mobile_css_output, '', astra_addon_get_mobile_breakpoint() );
return $dynamic_css . $css;
}