/** * Widget API: Default core widgets * * @package WordPress * @subpackage Widgets * @since 2.8.0 */ // Don't load directly. if ( ! defined( 'ABSPATH' ) ) { die( '-1' ); } /** WP_Widget_Pages class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-pages.php'; /** WP_Widget_Links class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-links.php'; /** WP_Widget_Search class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-search.php'; /** WP_Widget_Archives class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-archives.php'; /** WP_Widget_Media class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-media.php'; /** WP_Widget_Media_Audio class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-media-audio.php'; /** WP_Widget_Media_Image class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-media-image.php'; /** WP_Widget_Media_Video class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-media-video.php'; /** WP_Widget_Media_Gallery class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-media-gallery.php'; /** WP_Widget_Meta class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-meta.php'; /** WP_Widget_Calendar class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-calendar.php'; /** WP_Widget_Text class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-text.php'; /** WP_Widget_Categories class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-categories.php'; /** WP_Widget_Recent_Posts class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-recent-posts.php'; /** WP_Widget_Recent_Comments class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-recent-comments.php'; /** WP_Widget_RSS class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-rss.php'; /** WP_Widget_Tag_Cloud class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-tag-cloud.php'; /** WP_Nav_Menu_Widget class */ require_once ABSPATH . WPINC . '/widgets/class-wp-nav-menu-widget.php'; /** WP_Widget_Custom_HTML class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-custom-html.php'; /** WP_Widget_Block class */ require_once ABSPATH . WPINC . '/widgets/class-wp-widget-block.php';/** * WordPress Block Editor CSS * * @link https://developer.wordpress.org/themes/basics/theme-functions/ * * @package Astra * @link http://wpastra.com/ * @since Astra 3.8.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * New modern WP-Block editor experience. */ class Astra_WP_Editor_CSS { /** * Astra block editor block editor - padding preset CSS. * * @return array Devices specific padding spacings. * * @since 3.8.3 */ public static function astra_get_block_spacings() { $wp_block_spacing_type = astra_get_option( 'wp-blocks-ui' ); $container_blocks_spacings = astra_get_option( 'wp-blocks-global-padding' ); switch ( $wp_block_spacing_type ) { case 'compact': $desktop_top_block_space = '2em'; $desktop_right_block_space = '2em'; $desktop_bottom_block_space = '2em'; $desktop_left_block_space = '2em'; $tablet_top_block_space = '2em'; $tablet_right_block_space = '2em'; $tablet_bottom_block_space = '2em'; $tablet_left_block_space = '2em'; $mobile_top_block_space = '2em'; $mobile_right_block_space = '2em'; $mobile_bottom_block_space = '2em'; $mobile_left_block_space = '2em'; break; case 'comfort': $desktop_top_block_space = '3em'; $desktop_right_block_space = '3em'; $desktop_bottom_block_space = '3em'; $desktop_left_block_space = '3em'; $tablet_top_block_space = '3em'; $tablet_right_block_space = '2em'; $tablet_bottom_block_space = '3em'; $tablet_left_block_space = '2em'; $mobile_top_block_space = '3em'; $mobile_right_block_space = '1.5em'; $mobile_bottom_block_space = '3em'; $mobile_left_block_space = '1.5em'; break; case 'custom': $desktop_top_block_space = astra_responsive_spacing( $container_blocks_spacings, 'top', 'desktop' ); $desktop_right_block_space = astra_responsive_spacing( $container_blocks_spacings, 'right', 'desktop' ); $desktop_bottom_block_space = astra_responsive_spacing( $container_blocks_spacings, 'bottom', 'desktop' ); $desktop_left_block_space = astra_responsive_spacing( $container_blocks_spacings, 'left', 'desktop' ); $tablet_top_block_space = astra_responsive_spacing( $container_blocks_spacings, 'top', 'tablet' ); $tablet_right_block_space = astra_responsive_spacing( $container_blocks_spacings, 'right', 'tablet' ); $tablet_bottom_block_space = astra_responsive_spacing( $container_blocks_spacings, 'bottom', 'tablet' ); $tablet_left_block_space = astra_responsive_spacing( $container_blocks_spacings, 'left', 'tablet' ); $mobile_top_block_space = astra_responsive_spacing( $container_blocks_spacings, 'top', 'mobile' ); $mobile_right_block_space = astra_responsive_spacing( $container_blocks_spacings, 'right', 'mobile' ); $mobile_bottom_block_space = astra_responsive_spacing( $container_blocks_spacings, 'bottom', 'mobile' ); $mobile_left_block_space = astra_responsive_spacing( $container_blocks_spacings, 'left', 'mobile' ); break; default: $desktop_top_block_space = ''; $desktop_right_block_space = ''; $desktop_bottom_block_space = ''; $desktop_left_block_space = ''; $tablet_top_block_space = ''; $tablet_right_block_space = ''; $tablet_bottom_block_space = ''; $tablet_left_block_space = ''; $mobile_top_block_space = ''; $mobile_right_block_space = ''; $mobile_bottom_block_space = ''; $mobile_left_block_space = ''; break; } return array( 'desktop' => array( 'top' => $desktop_top_block_space, 'right' => $desktop_right_block_space, 'bottom' => $desktop_bottom_block_space, 'left' => $desktop_left_block_space, ), 'tablet' => array( 'top' => $tablet_top_block_space, 'right' => $tablet_right_block_space, 'bottom' => $tablet_bottom_block_space, 'left' => $tablet_left_block_space, ), 'mobile' => array( 'top' => $mobile_top_block_space, 'right' => $mobile_right_block_space, 'bottom' => $mobile_bottom_block_space, 'left' => $mobile_left_block_space, ), ); } /** * Get dynamic CSS required for the block editor to make editing experience similar to how it looks on frontend. * * @return String CSS to be loaded in the editor interface. */ public static function get_css() { $ltr_left = is_rtl() ? 'right' : 'left'; $site_content_width = astra_get_option( 'site-content-width', 1200 ); $headings_font_family = astra_get_option( 'headings-font-family' ); $headings_font_weight = astra_get_option( 'headings-font-weight' ); $headings_text_transform = astra_get_font_extras( astra_get_option( 'headings-font-extras' ), 'text-transform' ); $headings_line_height = astra_get_font_extras( astra_get_option( 'headings-font-extras' ), 'line-height', 'line-height-unit' ); $body_font_family = astra_body_font_family(); $para_margin_bottom = astra_get_option( 'para-margin-bottom', '1.6' ); $theme_color = astra_get_option( 'theme-color' ); $heading_base_color = astra_get_option( 'heading-base-color' ); $highlight_theme_color = astra_get_foreground_color( $theme_color ); $body_font_weight = astra_get_option( 'body-font-weight' ); $body_font_size = astra_get_option( 'font-size-body' ); $body_line_height = astra_get_font_extras( astra_get_option( 'body-font-extras' ), 'line-height', 'line-height-unit' ); $body_text_transform = astra_get_font_extras( astra_get_option( 'body-font-extras' ), 'text-transform' ); $body_letter_spacing = astra_get_font_extras( astra_get_option( 'body-font-extras' ), 'letter-spacing', 'letter-spacing-unit' ); $body_text_decoration = astra_get_font_extras( astra_get_option( 'body-font-extras' ), 'text-decoration' ); $text_color = astra_get_option( 'text-color' ); $heading_h1_font_size = astra_get_option( 'font-size-h1' ); $heading_h2_font_size = astra_get_option( 'font-size-h2' ); $heading_h3_font_size = astra_get_option( 'font-size-h3' ); $heading_h4_font_size = astra_get_option( 'font-size-h4' ); $heading_h5_font_size = astra_get_option( 'font-size-h5' ); $heading_h6_font_size = astra_get_option( 'font-size-h6' ); $link_color = astra_get_option( 'link-color', $theme_color ); $link_h_color = astra_get_option( 'link-h-color' ); /** @psalm-suppress PossiblyNullPropertyFetch */ $post_type = get_current_screen() ? get_current_screen()->post_type : ''; /** * Button theme compatibility. */ $btn_color = astra_get_option( 'button-color' ); $btn_bg_color = astra_get_option( 'button-bg-color', '', $theme_color ); $btn_h_color = astra_get_option( 'button-h-color' ); $btn_bg_h_color = astra_get_option( 'button-bg-h-color', '', $link_h_color ); $btn_border_radius_fields = astra_get_option( 'button-radius-fields' ); $theme_btn_padding = astra_get_option( 'theme-button-padding' ); $btn_border_size = astra_get_option( 'theme-button-border-group-border-size' ); $btn_border_color = astra_get_option( 'theme-button-border-group-border-color' ); $btn_border_h_color = astra_get_option( 'theme-button-border-group-border-h-color' ); $theme_btn_font_family = astra_get_option( 'font-family-button' ); $theme_btn_font_size = astra_get_option( 'font-size-button' ); $theme_btn_font_weight = astra_get_option( 'font-weight-button' ); $theme_btn_text_transform = astra_get_font_extras( astra_get_option( 'font-extras-button' ), 'text-transform' ); $theme_btn_line_height = astra_get_font_extras( astra_get_option( 'font-extras-button' ), 'line-height', 'line-height-unit' ); $theme_btn_letter_spacing = astra_get_font_extras( astra_get_option( 'font-extras-button' ), 'letter-spacing', 'letter-spacing-unit' ); $theme_btn_text_decoration = astra_get_font_extras( astra_get_option( 'font-extras-button' ), 'text-decoration' ); $theme_btn_top_border = isset( $btn_border_size['top'] ) && ( '' !== $btn_border_size['top'] && '0' !== $btn_border_size['top'] ) ? astra_get_css_value( $btn_border_size['top'], 'px' ) : ''; $theme_btn_right_border = isset( $btn_border_size['right'] ) && ( '' !== $btn_border_size['right'] && '0' !== $btn_border_size['right'] ) ? astra_get_css_value( $btn_border_size['right'], 'px' ) : ''; $theme_btn_left_border = isset( $btn_border_size['left'] ) && ( '' !== $btn_border_size['left'] && '0' !== $btn_border_size['left'] ) ? astra_get_css_value( $btn_border_size['left'], 'px' ) : ''; $theme_btn_bottom_border = isset( $btn_border_size['bottom'] ) && ( '' !== $btn_border_size['bottom'] && '0' !== $btn_border_size['bottom'] ) ? astra_get_css_value( $btn_border_size['bottom'], 'px' ) : ''; /** * Headings typography. */ $h1_font_family = astra_get_option( 'font-family-h1' ); $h1_font_weight = astra_get_option( 'font-weight-h1' ); $h1_line_height = astra_get_font_extras( astra_get_option( 'font-extras-h1' ), 'line-height', 'line-height-unit' ); $h1_text_transform = astra_get_font_extras( astra_get_option( 'font-extras-h1' ), 'text-transform' ); $h1_letter_spacing = astra_get_font_extras( astra_get_option( 'font-extras-h1' ), 'letter-spacing', 'letter-spacing-unit' ); $h1_text_decoration = astra_get_font_extras( astra_get_option( 'font-extras-h1' ), 'text-decoration' ); $h2_font_family = astra_get_option( 'font-family-h2' ); $h2_font_weight = astra_get_option( 'font-weight-h2' ); $h2_line_height = astra_get_font_extras( astra_get_option( 'font-extras-h2' ), 'line-height', 'line-height-unit' ); $h2_text_transform = astra_get_font_extras( astra_get_option( 'font-extras-h2' ), 'text-transform' ); $h2_letter_spacing = astra_get_font_extras( astra_get_option( 'font-extras-h2' ), 'letter-spacing', 'letter-spacing-unit' ); $h2_text_decoration = astra_get_font_extras( astra_get_option( 'font-extras-h2' ), 'text-decoration' ); $h3_font_family = astra_get_option( 'font-family-h3' ); $h3_font_weight = astra_get_option( 'font-weight-h3' ); $h3_line_height = astra_get_font_extras( astra_get_option( 'font-extras-h3' ), 'line-height', 'line-height-unit' ); $h3_text_transform = astra_get_font_extras( astra_get_option( 'font-extras-h3' ), 'text-transform' ); $h3_letter_spacing = astra_get_font_extras( astra_get_option( 'font-extras-h3' ), 'letter-spacing', 'letter-spacing-unit' ); $h3_text_decoration = astra_get_font_extras( astra_get_option( 'font-extras-h3' ), 'text-decoration' ); $h4_font_family = astra_get_option( 'font-family-h4' ); $h4_font_weight = astra_get_option( 'font-weight-h4' ); $h4_line_height = astra_get_font_extras( astra_get_option( 'font-extras-h4' ), 'line-height', 'line-height-unit' ); $h4_text_transform = astra_get_font_extras( astra_get_option( 'font-extras-h4' ), 'text-transform' ); $h4_letter_spacing = astra_get_font_extras( astra_get_option( 'font-extras-h4' ), 'letter-spacing', 'letter-spacing-unit' ); $h4_text_decoration = astra_get_font_extras( astra_get_option( 'font-extras-h4' ), 'text-decoration' ); $h5_font_family = astra_get_option( 'font-family-h5' ); $h5_font_weight = astra_get_option( 'font-weight-h5' ); $h5_line_height = astra_get_font_extras( astra_get_option( 'font-extras-h5' ), 'line-height', 'line-height-unit' ); $h5_text_transform = astra_get_font_extras( astra_get_option( 'font-extras-h5' ), 'text-transform' ); $h5_letter_spacing = astra_get_font_extras( astra_get_option( 'font-extras-h5' ), 'letter-spacing', 'letter-spacing-unit' ); $h5_text_decoration = astra_get_font_extras( astra_get_option( 'font-extras-h5' ), 'text-decoration' ); $h6_font_family = astra_get_option( 'font-family-h6' ); $h6_font_weight = astra_get_option( 'font-weight-h6' ); $h6_line_height = astra_get_font_extras( astra_get_option( 'font-extras-h6' ), 'line-height', 'line-height-unit' ); $h6_text_transform = astra_get_font_extras( astra_get_option( 'font-extras-h6' ), 'text-transform' ); $h6_letter_spacing = astra_get_font_extras( astra_get_option( 'font-extras-h6' ), 'letter-spacing', 'letter-spacing-unit' ); $h6_text_decoration = astra_get_font_extras( astra_get_option( 'font-extras-h6' ), 'text-decoration' ); // Fallback for H1 - headings typography. if ( 'inherit' === $h1_font_family ) { $h1_font_family = $headings_font_family; } if ( 'inherit' === $h1_font_weight && 'inherit' === $headings_font_weight ) { $h1_font_weight = 'normal'; } if ( '' == $h1_text_transform ) { $h1_text_transform = $headings_text_transform; } if ( '' == $h1_line_height ) { $h1_line_height = $headings_line_height; } // Fallback for H2 - headings typography. if ( 'inherit' === $h2_font_family ) { $h2_font_family = $headings_font_family; } if ( 'inherit' === $h2_font_weight && 'inherit' === $headings_font_weight ) { $h2_font_weight = 'normal'; } if ( '' == $h2_text_transform ) { $h2_text_transform = $headings_text_transform; } if ( '' == $h2_line_height ) { $h2_line_height = $headings_line_height; } // Fallback for H3 - headings typography. if ( 'inherit' === $h3_font_family ) { $h3_font_family = $headings_font_family; } if ( 'inherit' === $h3_font_weight && 'inherit' === $headings_font_weight ) { $h3_font_weight = 'normal'; } if ( '' == $h3_text_transform ) { $h3_text_transform = $headings_text_transform; } if ( '' == $h3_line_height ) { $h3_line_height = $headings_line_height; } // Fallback for H4 - headings typography. if ( 'inherit' === $h4_font_family ) { $h4_font_family = $headings_font_family; } if ( 'inherit' === $h4_font_weight && 'inherit' === $headings_font_weight ) { $h4_font_weight = 'normal'; } if ( '' == $h4_text_transform ) { $h4_text_transform = $headings_text_transform; } if ( '' == $h4_line_height ) { $h4_line_height = $headings_line_height; } // Fallback for H5 - headings typography. if ( 'inherit' === $h5_font_family ) { $h5_font_family = $headings_font_family; } if ( 'inherit' === $h5_font_weight && 'inherit' === $headings_font_weight ) { $h5_font_weight = 'normal'; } if ( '' == $h5_text_transform ) { $h5_text_transform = $headings_text_transform; } if ( '' == $h5_line_height ) { $h5_line_height = $headings_line_height; } // Fallback for H6 - headings typography. if ( 'inherit' === $h6_font_family ) { $h6_font_family = $headings_font_family; } if ( 'inherit' === $h6_font_weight && 'inherit' === $headings_font_weight ) { $h6_font_weight = 'normal'; } if ( '' == $h6_text_transform ) { $h6_text_transform = $headings_text_transform; } if ( '' == $h6_line_height ) { $h6_line_height = $headings_line_height; } // Fallback for button settings. if ( empty( $btn_color ) ) { $btn_color = astra_get_foreground_color( $theme_color ); } if ( empty( $btn_h_color ) ) { $btn_h_color = astra_get_foreground_color( $link_h_color ); } if ( is_array( $body_font_size ) ) { $body_font_size_desktop = isset( $body_font_size['desktop'] ) && '' != $body_font_size['desktop'] ? $body_font_size['desktop'] : 15; // Convert to appropriate pixels if the unit is 'rem'. $body_font_size_desktop = ! empty( $body_font_size['desktop-unit'] ) && $body_font_size['desktop-unit'] === 'rem' ? $body_font_size_desktop * 16 : $body_font_size_desktop; } else { $body_font_size_desktop = '' != $body_font_size ? $body_font_size : 15; } $site_background = astra_get_option( 'site-layout-outside-bg-obj-responsive' ); $content_background = astra_get_option( 'content-bg-obj-responsive' ); $background_style_data = astra_get_responsive_background_obj( $site_background, 'desktop' ); if ( empty( $background_style_data ) || ( ( empty( $background_style_data['background-color'] ) || ';' === $background_style_data['background-color'] ) && ( empty( $background_style_data['background-image'] ) && 'none;' === $background_style_data['background-image'] ) ) ) { $background_style_data = array( 'background-color' => '#f5f5f5', ); } // Site title (Page Title) on Block Editor. $post_type = strval( get_post_type() ); $site_title_font_family = astra_get_option( 'ast-dynamic-single-' . esc_attr( $post_type ) . '-title-font-family', astra_get_option( 'ast-dynamic-single-' . esc_attr( $post_type ) . '-text-font-family' ) ); $site_title_font_weight = astra_get_option( 'ast-dynamic-single-' . esc_attr( $post_type ) . '-title-font-weight', Astra_Posts_Structure_Loader::get_customizer_default( 'title-font-weight' ) ); $site_title_font_size = astra_get_option( 'ast-dynamic-single-' . esc_attr( $post_type ) . '-title-font-size', Astra_Posts_Structure_Loader::get_customizer_default( 'title-font-size' ) ); $site_title_font_extras = astra_get_option( 'ast-dynamic-single-' . esc_attr( $post_type ) . '-text-font-extras' ); $site_title_text_transform = astra_get_font_extras( astra_get_option( 'ast-dynamic-single-' . esc_attr( $post_type ) . '-title-font-extras', $site_title_font_extras ), 'text-transform' ); $site_title_spacing = astra_get_font_extras( astra_get_option( 'ast-dynamic-single-' . esc_attr( $post_type ) . '-title-font-extras', $site_title_font_extras ), 'letter-spacing', 'letter-spacing-unit' ); $site_title_decoration = astra_get_font_extras( astra_get_option( 'ast-dynamic-single-' . esc_attr( $post_type ) . '-title-font-extras', $site_title_font_extras ), 'text-decoration' ); $is_widget_title_support_font_weight = Astra_Dynamic_CSS::support_font_css_to_widget_and_in_editor(); $font_weight_prop = $is_widget_title_support_font_weight ? 'inherit' : 'normal'; $btn_preset_style = astra_get_option( 'button-preset-style' ); $border_color = astra_get_option( 'border-color' ); $is_dark_palette = Astra_Global_Palette::is_dark_palette(); // Fallback for Site title (Page Title). if ( 'inherit' === $site_title_font_family ) { $site_title_font_family = $headings_font_family; } if ( $font_weight_prop === $site_title_font_weight ) { $site_title_font_weight = $headings_font_weight; } if ( '' == $site_title_text_transform ) { $site_title_text_transform = '' === $headings_text_transform ? astra_get_option( 'text-transform-h1' ) : $headings_text_transform; } if ( 'inherit' === $site_title_font_weight || '' == $site_title_font_weight ) { $site_title_font_weight = Astra_Posts_Structure_Loader::get_customizer_default( 'title-font-weight' ); } // check the selection color in-case of empty/no theme color. $selection_text_color = 'transparent' === $highlight_theme_color ? '' : $highlight_theme_color; $astra_is_block_editor_v2_ui = astra_get_option( 'wp-blocks-v2-ui', true ); $astra_container_width = $site_content_width . 'px'; $block_appender_width = $astra_is_block_editor_v2_ui ? 'var(--wp--custom--ast-content-width-size)' : 'var(--wp--custom--ast-wide-width-size)'; $astra_wide_particular_selector = $astra_is_block_editor_v2_ui ? '.editor-styles-wrapper .block-editor-block-list__layout.is-root-container .block-list-appender' : '.editor-styles-wrapper .block-editor-block-list__layout.is-root-container > p, .editor-styles-wrapper .block-editor-block-list__layout.is-root-container .block-list-appender'; $blocks_spacings = self::astra_get_block_spacings(); $color_palette_reorganize = Astra_Dynamic_CSS::astra_4_8_9_compatibility(); $desktop_top_spacing = isset( $blocks_spacings['desktop']['top'] ) ? $blocks_spacings['desktop']['top'] : ''; $desktop_right_spacing = isset( $blocks_spacings['desktop']['right'] ) ? $blocks_spacings['desktop']['right'] : ''; $desktop_bottom_spacing = isset( $blocks_spacings['desktop']['bottom'] ) ? $blocks_spacings['desktop']['bottom'] : ''; $desktop_left_spacing = isset( $blocks_spacings['desktop']['left'] ) ? $blocks_spacings['desktop']['left'] : ''; $tablet_top_spacing = isset( $blocks_spacings['tablet']['top'] ) ? $blocks_spacings['tablet']['top'] : ''; $tablet_right_spacing = isset( $blocks_spacings['tablet']['right'] ) ? $blocks_spacings['tablet']['right'] : ''; $tablet_bottom_spacing = isset( $blocks_spacings['tablet']['bottom'] ) ? $blocks_spacings['tablet']['bottom'] : ''; $tablet_left_spacing = isset( $blocks_spacings['tablet']['left'] ) ? $blocks_spacings['tablet']['left'] : ''; $mobile_top_spacing = isset( $blocks_spacings['mobile']['top'] ) ? $blocks_spacings['mobile']['top'] : ''; $mobile_right_spacing = isset( $blocks_spacings['mobile']['right'] ) ? $blocks_spacings['mobile']['right'] : ''; $mobile_bottom_spacing = isset( $blocks_spacings['mobile']['bottom'] ) ? $blocks_spacings['mobile']['bottom'] : ''; $mobile_left_spacing = isset( $blocks_spacings['mobile']['left'] ) ? $blocks_spacings['mobile']['left'] : ''; $ast_content_width = apply_filters( 'astra_block_content_width', $astra_is_block_editor_v2_ui ? $astra_container_width : '910px' ); $ast_wide_width = apply_filters( 'astra_block_wide_width', $astra_is_block_editor_v2_ui ? 'calc(' . esc_attr( $astra_container_width ) . ' + var(--wp--custom--ast-default-block-left-padding) + var(--wp--custom--ast-default-block-right-padding))' : $astra_container_width ); $ast_narrow_width = astra_get_option( 'narrow-container-max-width', apply_filters( 'astra_narrow_container_width', 750 ) ) . 'px'; $primary_color = $color_palette_reorganize ? 'var(--ast-global-color-4)' : 'var(--ast-global-color-5)'; $secondary_color = $color_palette_reorganize ? 'var(--ast-global-color-5)' : 'var(--ast-global-color-4)'; $alternate_color = $color_palette_reorganize ? 'var(--ast-global-color-6)' : 'var(--ast-global-color-7)'; $subtle_color = $color_palette_reorganize ? 'var(--ast-global-color-7)' : 'var(--ast-global-color-6)'; $css = ':root, body .editor-styles-wrapper { --wp--custom--ast-default-block-top-padding: ' . $desktop_top_spacing . '; --wp--custom--ast-default-block-right-padding: ' . $desktop_right_spacing . '; --wp--custom--ast-default-block-bottom-padding: ' . $desktop_bottom_spacing . '; --wp--custom--ast-default-block-left-padding: ' . $desktop_left_spacing . '; --wp--custom--ast-content-width-size: ' . $ast_content_width . '; --wp--custom--ast-wide-width-size: ' . $ast_wide_width . '; --ast-global-color-primary: ' . $primary_color . '; --ast-global-color-secondary: ' . $secondary_color . '; --ast-global-color-alternate-background: ' . $alternate_color . '; --ast-global-color-subtle-background: ' . $subtle_color . '; }'; $css .= '.ast-narrow-container .editor-styles-wrapper { --wp--custom--ast-content-width-size: ' . $ast_narrow_width . '; }'; // Overriding the previous CSS vars in customizer because there is block editor in customizer widget, where if any container block is used in sidebar widgets then as customizer widget editor is already small (left panel) the blocks does not looks good. if ( is_customize_preview() ) { $css = ''; } /** @psalm-suppress InvalidScalarArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $html_font_size = astra_get_font_css_value( (int) $body_font_size_desktop * 6.25, '%' ); /** @psalm-suppress InvalidScalarArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** Primary button styles */ $theme_color = astra_get_option( 'theme-color' ); $btn_border_color = astra_get_option( 'theme-button-border-group-border-color' ); $btn_bg_color = astra_get_option( 'button-bg-color', $theme_color ); $btn_border_color = astra_get_option( 'theme-button-border-group-border-color' ); $btn_border_h_color = astra_get_option( 'theme-button-border-group-border-h-color' ); $link_hover_color = astra_get_option( 'link-h-color' ); $btn_bg_hover_color = astra_get_option( 'button-bg-h-color', $link_hover_color ); // Apply button 4-6 preset styles same as frontend. if ( 'button_04' === $btn_preset_style || 'button_05' === $btn_preset_style || 'button_06' === $btn_preset_style ) { if ( empty( $btn_border_color ) ) { $btn_border_color = $btn_bg_color; } if ( '' === astra_get_option( 'button-bg-color' ) && '' === astra_get_option( 'button-color' ) ) { $btn_color = $theme_color; } elseif ( '' === astra_get_option( 'button-color' ) ) { $btn_color = $btn_bg_color; } $btn_bg_color = 'transparent'; } /** * Apply text hover color depends on link hover color */ $btn_text_hover_color = astra_get_option( 'button-h-color' ); if ( empty( $btn_text_hover_color ) ) { $btn_text_hover_color = astra_get_foreground_color( $link_hover_color ); } $desktop_css = array( ':root' => Astra_Global_Palette::generate_global_palette_style(), 'html' => array( 'font-size' => $html_font_size, ), $astra_wide_particular_selector => array( 'max-width' => esc_attr( $block_appender_width ), 'margin' => '0 auto', ), '.editor-styles-wrapper a' => array( 'color' => esc_attr( $link_color ), ), '.wp-block-post-content' => array( 'color' => esc_attr( $text_color ), ), '.has-text-color .block-editor-block-list__block:not(:is(.wp-block-heading, .wp-block-button, .wp-block-spectra-pro-form-link))' => array( 'color' => 'inherit', ), '.wp-block-cover:not(.has-text-color.has-link-color) .wp-block-cover__inner-container .block-editor-rich-text__editable.wp-block-paragraph' => array( 'color' => esc_attr( $text_color ), ), // Global selection CSS. '.block-editor-block-list__layout .block-editor-block-list__block ::selection,.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected .editor-block-list__block-edit:before' => array( 'background-color' => esc_attr( $theme_color ), ), '.block-editor-block-list__layout .block-editor-block-list__block ::selection, .block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected .editor-block-list__block-edit' => array( 'color' => esc_attr( $selection_text_color ), ), '#editor .edit-post-visual-editor' => $background_style_data, '.editor-styles-wrapper' => astra_get_responsive_background_obj( $content_background, 'desktop' ), '.editor-styles-wrapper, #customize-controls .editor-styles-wrapper' => array( 'font-family' => astra_get_font_family( $body_font_family ), 'font-weight' => esc_attr( $body_font_weight ), 'font-size' => astra_responsive_font( $body_font_size, 'desktop' ), 'line-height' => esc_attr( $body_line_height ), 'text-transform' => esc_attr( $body_text_transform ), 'text-decoration' => esc_attr( $body_text_decoration ), 'letter-spacing' => esc_attr( $body_letter_spacing ), ), '.editor-styles-wrapper h1, .editor-styles-wrapper h2, .editor-styles-wrapper h3, .editor-styles-wrapper h4, .editor-styles-wrapper h5, .editor-styles-wrapper h6' => astra_get_font_array_css( astra_get_option( 'headings-font-family' ), astra_get_option( 'headings-font-weight' ), array(), 'headings-font-extras', $heading_base_color ), ".wp-block-cover:not([class*='background-color']):not(.has-text-color.has-link-color):not(.wp-block-cover__inner-container .wp-block-cover ). block-editor-block-list__block" => astra_get_font_array_css( astra_get_option( 'headings-font-family' ), astra_get_option( 'headings-font-weight' ), array(), 'headings-font-extras', $heading_base_color ), // Headings H1 - H6 typography. '.editor-styles-wrapper h1' => array( 'font-size' => astra_responsive_font( $heading_h1_font_size, 'desktop' ), 'font-family' => astra_get_css_value( $h1_font_family, 'font' ), 'font-weight' => astra_get_css_value( $h1_font_weight, 'font' ), 'line-height' => esc_attr( $h1_line_height ), 'text-transform' => esc_attr( $h1_text_transform ), 'text-decoration' => esc_attr( $h1_text_decoration ), 'letter-spacing' => esc_attr( $h1_letter_spacing ), ), '.editor-styles-wrapper h2' => array( 'font-size' => astra_responsive_font( $heading_h2_font_size, 'desktop' ), 'font-family' => astra_get_css_value( $h2_font_family, 'font' ), 'font-weight' => astra_get_css_value( $h2_font_weight, 'font' ), 'line-height' => esc_attr( $h2_line_height ), 'text-transform' => esc_attr( $h2_text_transform ), 'text-decoration' => esc_attr( $h2_text_decoration ), 'letter-spacing' => esc_attr( $h2_letter_spacing ), ), '.editor-styles-wrapper h3, #customize-controls .editor-styles-wrapper h3' => array( 'font-size' => astra_responsive_font( $heading_h3_font_size, 'desktop' ), 'font-family' => astra_get_css_value( $h3_font_family, 'font' ), 'font-weight' => astra_get_css_value( $h3_font_weight, 'font' ), 'line-height' => esc_attr( $h3_line_height ), 'text-transform' => esc_attr( $h3_text_transform ), 'text-decoration' => esc_attr( $h3_text_decoration ), 'letter-spacing' => esc_attr( $h3_letter_spacing ), ), '.editor-styles-wrapper h4' => array( 'font-size' => astra_responsive_font( $heading_h4_font_size, 'desktop' ), 'font-family' => astra_get_css_value( $h4_font_family, 'font' ), 'font-weight' => astra_get_css_value( $h4_font_weight, 'font' ), 'line-height' => esc_attr( $h4_line_height ), 'text-transform' => esc_attr( $h4_text_transform ), 'text-decoration' => esc_attr( $h4_text_decoration ), 'letter-spacing' => esc_attr( $h4_letter_spacing ), ), '.editor-styles-wrapper h5' => array( 'font-size' => astra_responsive_font( $heading_h5_font_size, 'desktop' ), 'font-family' => astra_get_css_value( $h5_font_family, 'font' ), 'font-weight' => astra_get_css_value( $h5_font_weight, 'font' ), 'line-height' => esc_attr( $h5_line_height ), 'text-transform' => esc_attr( $h5_text_transform ), 'text-decoration' => esc_attr( $h5_text_decoration ), 'letter-spacing' => esc_attr( $h5_letter_spacing ), ), '.editor-styles-wrapper h6' => array( 'font-size' => astra_responsive_font( $heading_h6_font_size, 'desktop' ), 'font-family' => astra_get_css_value( $h6_font_family, 'font' ), 'font-weight' => astra_get_css_value( $h6_font_weight, 'font' ), 'line-height' => esc_attr( $h6_line_height ), 'text-transform' => esc_attr( $h6_text_transform ), 'text-decoration' => esc_attr( $h6_text_decoration ), 'letter-spacing' => esc_attr( $h6_letter_spacing ), ), '.editor-styles-wrapper .block-editor-block-list__layout.is-root-container p' => array( 'margin-bottom' => astra_get_css_value( $para_margin_bottom, 'em' ), ), '.editor-styles-wrapper .wp-block-quote:not(.has-text-align-right):not(.has-text-align-center)' => array( 'border-' . esc_attr( $ltr_left ) => '5px solid rgba(0, 0, 0, 0.05)', ), // Gutenberg button compatibility for default styling. ':where(.editor-styles-wrapper .wp-block-button:not(.is-style-outline)) :is(div, button).wp-block-button__link, .block-editor-writing-flow .wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button, .block-editor-writing-flow .wp-block-file .wp-block-file__button, .editor-styles-wrapper button.wc-block-components-button' => array( 'border-style' => $theme_btn_top_border || $theme_btn_right_border || $theme_btn_left_border || $theme_btn_bottom_border ? 'solid' : '', 'border-top-width' => $theme_btn_top_border, 'border-right-width' => $theme_btn_right_border, 'border-left-width' => $theme_btn_left_border, 'border-bottom-width' => $theme_btn_bottom_border, 'color' => esc_attr( $btn_color ), 'border-color' => empty( $btn_border_color ) ? esc_attr( $btn_bg_color ) : esc_attr( $btn_border_color ), 'background-color' => esc_attr( $btn_bg_color ), 'font-family' => astra_get_font_family( $theme_btn_font_family ), 'font-weight' => esc_attr( $theme_btn_font_weight ), 'line-height' => esc_attr( $theme_btn_line_height ), 'text-transform' => esc_attr( $theme_btn_text_transform ), 'letter-spacing' => astra_get_css_value( $theme_btn_letter_spacing, 'px' ), 'text-decoration' => esc_attr( $theme_btn_text_decoration ), 'font-size' => astra_responsive_font( $theme_btn_font_size, 'desktop' ), 'border-top-left-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'top', 'desktop' ), 'border-top-right-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'right', 'desktop' ), 'border-bottom-right-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'bottom', 'desktop' ), 'border-bottom-left-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'left', 'desktop' ), 'padding-top' => astra_responsive_spacing( $theme_btn_padding, 'top', 'desktop' ), 'padding-right' => astra_responsive_spacing( $theme_btn_padding, 'right', 'desktop' ), 'padding-bottom' => astra_responsive_spacing( $theme_btn_padding, 'bottom', 'desktop' ), 'padding-left' => astra_responsive_spacing( $theme_btn_padding, 'left', 'desktop' ), ), '.wp-block-button .wp-block-button__link:hover, .wp-block-button .wp-block-button__link:focus, .block-editor-writing-flow .wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button:hover, .block-editor-writing-flow .wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button:focus, .block-editor-writing-flow .wp-block-file .wp-block-file__button:hover, .block-editor-writing-flow .wp-block-file .wp-block-file__button:focus' => array( 'color' => esc_attr( $btn_h_color ), 'background-color' => esc_attr( $btn_bg_h_color ), 'border-color' => empty( $btn_border_h_color ) ? esc_attr( $btn_bg_h_color ) : esc_attr( $btn_border_h_color ), ), '.wp-block-button.is-style-outline > .wp-block-button__link:hover, .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover' => array( 'color' => esc_attr( $btn_h_color ), 'background-color' => esc_attr( $btn_bg_h_color ), ), '.editor-styles-wrapper .block-editor-block-list__layout .is-layout-grid.wp-block-group-is-layout-grid p, .editor-styles-wrapper .block-editor-block-list__layout .is-layout-flex:is(.wp-block-group-is-layout-flex, [class*="wp-block-spectra-"]) p' => array( 'margin-bottom' => '0', ), '.wp-block-button.is-style-outline > .wp-block-button__link.has-text-color' => array( 'border-color' => 'initial', ), '.wp-block-button.is-style-outline > .wp-block-button__link' => array( 'padding' => '.667em 1.333em', ), '.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color)' => array( 'color' => empty( $btn_border_color ) ? esc_attr( $btn_bg_color ) : esc_attr( $btn_border_color ), ), ':where(.editor-styles-wrapper) p' => array( 'line-height' => esc_attr( $body_line_height ), ), ); // Margin bottom same as applied on frontend. if ( 'post' === $post_type && apply_filters( 'astra_improvise_single_post_design', Astra_Dynamic_CSS::astra_4_6_0_compatibility() ) ) { $desktop_css['.editor-styles-wrapper :where(.is-root-container.block-editor-block-list__layout) > :is(.wp-block-heading, h1, h2, h3, h4, h5, h6)'] = array( 'margin-top' => '1.5em', 'margin-bottom' => 'calc(0.3em + 10px);', ); } else { $desktop_css['.editor-styles-wrapper .is-root-container.block-editor-block-list__layout > :is(.wp-block-heading, [class*="wp-block-spectra"]:where(h1, h2 ,h3 ,h4 ,h5 ,h6))'] = array( 'margin-bottom' => '20px', ); } if ( Astra_Dynamic_CSS::astra_4_6_0_compatibility() && astra_get_option( 'single-content-images-shadow', false ) ) { $desktop_css['.wp-block-image img'] = array( 'box-shadow' => '0 0 30px 0 rgba(0,0,0,.15)', '-webkit-box-shadow' => '0 0 30px 0 rgba(0,0,0,.15)', '-moz-box-shadow' => '0 0 30px 0 rgba(0,0,0,.15)', ); // To apply the default button border radius in the editor to make the consistency with the frontend. $desktop_css[ 'button, .ast-button, .button, input[type="button"], input[type="reset"], input[type="submit"]' . ( astra_button_consistency_compatibility() ? ', .wp-block-button__link' : '' ) ] = array( 'border-radius' => '4px', ); } /** Pro Individual heading colors sync with editor */ if ( defined( 'ASTRA_EXT_VER' ) ) { /** Getting all individual heading colors */ $h1_color = astra_get_option( 'h1-color' ); $h2_color = astra_get_option( 'h2-color' ); $h3_color = astra_get_option( 'h3-color' ); $h4_color = astra_get_option( 'h4-color' ); $h5_color = astra_get_option( 'h5-color' ); $h6_color = astra_get_option( 'h6-color' ); $desktop_css['.editor-visual-editor .editor-styles-wrapper h1'] = array( 'color' => esc_attr( $h1_color ), ); $desktop_css['.editor-visual-editor .editor-styles-wrapper h2'] = array( 'color' => esc_attr( $h2_color ), ); $desktop_css['.editor-visual-editor .editor-styles-wrapper h3'] = array( 'color' => esc_attr( $h3_color ), ); $desktop_css['.editor-visual-editor .editor-styles-wrapper h4'] = array( 'color' => esc_attr( $h4_color ), ); $desktop_css['.editor-visual-editor .editor-styles-wrapper h5'] = array( 'color' => esc_attr( $h5_color ), ); $desktop_css['.editor-visual-editor .editor-styles-wrapper h6'] = array( 'color' => esc_attr( $h6_color ), ); } if ( Astra_Dynamic_CSS::astra_4_6_4_compatibility() ) { $desktop_css['.uagb-buttons-repeater.ast-outline-button'] = array( 'border-radius' => '9999px', ); } if ( $is_dark_palette ) { $desktop_css['.astra-dark-mode-enable #learndash_lessons, .astra-dark-mode-enable #learndash_quizzes, .astra-dark-mode-enable #learndash_profile, .astra-dark-mode-enable #learndash_lesson_topics_list > div, .astra-dark-mode-enable .learndash-wrapper .ld-table-list .ld-table-list-item .ld-table-list-title a, .astra-dark-mode-enable .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name, .astra-dark-mode-enable .learndash-wrapper .ld-table-list .ld-table-list-header a, .astra-dark-mode-enable .learndash-wrapper .ld-table-list .ld-table-list-item-preview a'] = array( 'background' => 'var( --ast-global-color-primary, --ast-global-color-4 )', 'color' => 'var(--ast-global-color-2)', ); $desktop_css['.astra-dark-mode-enable #learndash_lessons #lesson_heading, .astra-dark-mode-enable #learndash_profile .learndash_profile_heading, .astra-dark-mode-enable #learndash_quizzes #quiz_heading, .astra-dark-mode-enable #learndash_lesson_topics_list div > strong '] = array( 'background' => 'var(--ast-global-color-0)', 'color' => 'var(--ast-global-color-2)', ); $desktop_css['.astra-dark-mode-enable #learndash_profile '] = array( 'color' => 'var(--ast-global-color-0)', ); $desktop_css['.astra-dark-mode-enable .learndash-wrapper .ld-item-list .ld-item-list-item, .astra-dark-mode-enable .learndash-wrapper .ld-table-list .ld-table-list-footer '] = array( 'background' => 'var( --ast-global-color-primary, --ast-global-color-4 )', 'color' => 'var(--ast-global-color-2)', 'border-color' => 'var(--ast-border-color)', ); $desktop_css['.astra-dark-mode-enable .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-expanded .ld-progress, .astra-dark-mode-enable .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-expanded:before '] = array( 'background' => 'var( --ast-global-color-alternate-background, --ast-global-color-6 )', ); $desktop_css[' html.astra-dark-mode-enable :where(.editor-styles-wrapper) '] = array( 'color' => 'var(--ast-global-color-2)', ); $desktop_css[' .astra-dark-mode-enable .post-type-sureforms_form .editor-styles-wrapper '] = array( 'background' => 'initial', ); } // Boxed, Content-Boxed, page title alignment with Spectra Container Blocks. $desktop_css['.ast-separate-container .editor-styles-wrapper .block-editor-block-list__layout.is-root-container > :is(.uagb-is-root-container, .spectra-is-root-container)'] = array( 'max-width' => 'var(--wp--custom--ast-content-width-size)', ); // Full-Width Stretched Layout page title alignment. $desktop_css['.ast-page-builder-template .edit-post-visual-editor__post-title-wrapper'] = array( 'max-width' => 'calc( 100% - 5px ) !important', ); // Full-Width Contained Layout page title wrapper crops in stacked view fix. $desktop_css['.ast-plain-container .ast-stacked-title-visibility .edit-post-visual-editor__post-title-wrapper'] = array( 'padding-left' => '3px', 'padding-right' => '3px', ); // Core / Spectra blocks compatibility to occupy same width as narrow container. $desktop_css['.ast-narrow-container .editor-styles-wrapper .block-editor-block-list__layout.is-root-container'] = array( 'max-width' => 'var(--wp--custom--ast-content-width-size)', 'margin-left' => 'auto', 'margin-right' => 'auto', ); $desktop_css['.ast-narrow-container .editor-styles-wrapper .block-editor-block-list__layout.is-root-container > *.wp-block, .ast-narrow-container .is-root-container > .alignfull > :where(:not(.alignleft):not(.alignright))'] = array( 'max-width' => 'var(--wp--custom--ast-content-width-size)', 'margin-left' => 'auto', 'margin-right' => 'auto', ); $desktop_css['.ast-narrow-container .is-root-container > .alignwide > :where(:not(.alignleft):not(.alignright))'] = array( 'max-width' => 'var(--wp--custom--ast-content-width-size)', 'margin-left' => 'auto', 'margin-right' => 'auto', ); $desktop_css['.ast-narrow-container .editor-styles-wrapper .is-root-container .wp-block-uagb-image--align-full .wp-block-uagb-image__figure'] = array( 'max-width' => '100%', 'margin-left' => 'auto', 'margin-right' => 'auto', ); /** * Desktop site title. */ $desktop_css['.editor-styles-wrapper .edit-post-visual-editor__post-title-wrapper > h1'] = array( 'font-size' => astra_responsive_font( $site_title_font_size, 'desktop' ), 'font-weight' => astra_get_css_value( $site_title_font_weight, 'font' ), 'font-family' => astra_get_css_value( $site_title_font_family, 'font', $body_font_family ), 'text-transform' => esc_attr( $site_title_text_transform ), 'letter-spacing' => esc_attr( $site_title_spacing ), 'text-decoration' => esc_attr( $site_title_decoration ), ); $desktop_css['.editor-styles-wrapper .wp-block-search__input'] = array( 'padding' => '0 10px', 'border-color' => esc_attr( $border_color ), ); $desktop_css['.wp-block-table figcaption'] = array( 'text-align' => esc_attr( $ltr_left ), ); $default_border_size = '2px'; if ( astra_button_default_padding_updated() ) { $default_border_size = ''; } // Secondary button editor compatibility. $scndry_btn_text_color = astra_get_option( 'secondary-button-color' ); $scndry_btn_border_color = astra_get_option( 'secondary-theme-button-border-group-border-color' ); $scndry_btn_border_h_color = astra_get_option( 'secondary-theme-button-border-group-border-h-color' ); $global_scndry_custom_button_border_size = astra_get_option( 'secondary-theme-button-border-group-border-size' ); $scndry_theme_btn_top_border = isset( $global_scndry_custom_button_border_size['top'] ) && ( '' !== $global_scndry_custom_button_border_size['top'] && '0' !== $global_scndry_custom_button_border_size['top'] ) ? astra_get_css_value( $global_scndry_custom_button_border_size['top'], 'px' ) : $default_border_size; $scndry_theme_btn_right_border = isset( $global_scndry_custom_button_border_size['right'] ) && ( '' !== $global_scndry_custom_button_border_size['right'] && '0' !== $global_scndry_custom_button_border_size['right'] ) ? astra_get_css_value( $global_scndry_custom_button_border_size['right'], 'px' ) : $default_border_size; $scndry_theme_btn_left_border = isset( $global_scndry_custom_button_border_size['left'] ) && ( '' !== $global_scndry_custom_button_border_size['left'] && '0' !== $global_scndry_custom_button_border_size['left'] ) ? astra_get_css_value( $global_scndry_custom_button_border_size['left'], 'px' ) : $default_border_size; $scndry_theme_btn_bottom_border = isset( $global_scndry_custom_button_border_size['bottom'] ) && ( '' !== $global_scndry_custom_button_border_size['bottom'] && '0' !== $global_scndry_custom_button_border_size['bottom'] ) ? astra_get_css_value( $global_scndry_custom_button_border_size['bottom'], 'px' ) : $default_border_size; $scndry_theme_btn_font_family = astra_get_option( 'secondary-font-family-button' ); $scndry_theme_btn_font_size = astra_get_option( 'secondary-font-size-button' ); $scndry_theme_btn_font_weight = astra_get_option( 'secondary-font-weight-button' ); $scndry_theme_btn_text_transform = astra_get_font_extras( astra_get_option( 'secondary-font-extras-button' ), 'text-transform' ); $scndry_theme_btn_line_height = astra_get_font_extras( astra_get_option( 'secondary-font-extras-button' ), 'line-height', 'line-height-unit' ); $scndry_theme_btn_letter_spacing = astra_get_font_extras( astra_get_option( 'secondary-font-extras-button' ), 'letter-spacing', 'letter-spacing-unit' ); $scndry_theme_btn_text_decoration = astra_get_font_extras( astra_get_option( 'secondary-font-extras-button' ), 'text-decoration' ); $scndry_theme_btn_padding = astra_get_option( 'secondary-theme-button-padding' ); $scndry_btn_border_radius_fields = astra_get_option( 'secondary-button-radius-fields' ); $scndry_btn_bg_color = astra_get_option( 'secondary-button-bg-color' ); $scndry_btn_bg_hover_color = astra_get_option( 'secondary-button-bg-h-color' ); $scndry_btn_text_hover_color = astra_get_option( 'secondary-button-h-color' ); $scndry_btn_border_radius_top = astra_responsive_spacing( $scndry_btn_border_radius_fields, 'top', 'desktop' ); $scndry_btn_border_radius_right = astra_responsive_spacing( $scndry_btn_border_radius_fields, 'right', 'desktop' ); $scndry_btn_border_radius_bottom = astra_responsive_spacing( $scndry_btn_border_radius_fields, 'bottom', 'desktop' ); $scndry_btn_border_radius_left = astra_responsive_spacing( $scndry_btn_border_radius_fields, 'left', 'desktop' ); // Secondary color. if ( empty( $scndry_btn_text_color ) ) { $btn_color_val = empty( $btn_border_color ) ? esc_attr( $btn_bg_color ) : esc_attr( $btn_border_color ); } else { $btn_color_val = $scndry_btn_text_color; } // Secondary border color. if ( empty( $scndry_btn_border_color ) && empty( $scndry_btn_bg_color ) ) { $btn_border_color_val = empty( $btn_border_color ) ? esc_attr( $btn_bg_color ) : esc_attr( $btn_border_color ); } else { $btn_border_color_val = empty( $scndry_btn_border_color ) ? esc_attr( $scndry_btn_bg_color ) : esc_attr( $scndry_btn_border_color ); } // Secondary border hover color. if ( empty( $scndry_btn_border_h_color ) ) { $btn_border_h_color_val = empty( $btn_border_h_color ) ? esc_attr( $btn_bg_hover_color ) : esc_attr( $btn_border_h_color ); } else { $btn_border_h_color_val = $scndry_btn_border_h_color; } // Fallback to primary border radius if secondary border radius is not set. if ( empty( $scndry_btn_border_radius_top ) && empty( $scndry_btn_border_radius_right ) && empty( $scndry_btn_border_radius_bottom ) && empty( $scndry_btn_border_radius_left ) ) { $scndry_btn_border_radius_top = astra_responsive_spacing( $btn_border_radius_fields, 'top', 'desktop' ); $scndry_btn_border_radius_right = astra_responsive_spacing( $btn_border_radius_fields, 'right', 'desktop' ); $scndry_btn_border_radius_bottom = astra_responsive_spacing( $btn_border_radius_fields, 'bottom', 'desktop' ); $scndry_btn_border_radius_left = astra_responsive_spacing( $btn_border_radius_fields, 'left', 'desktop' ); } // Secondary button preset compatibility. $secondary_btn_preset_style = astra_get_option( 'secondary-button-preset-style' ); if ( 'button_04' === $secondary_btn_preset_style || 'button_05' === $secondary_btn_preset_style || 'button_06' === $secondary_btn_preset_style ) { if ( empty( $scndry_btn_border_color ) ) { $btn_border_color_val = $scndry_btn_bg_color; } if ( '' === astra_get_option( 'secondary-button-bg-color' ) && '' === astra_get_option( 'secondary-button-color' ) ) { $btn_color_val = $theme_color; } elseif ( '' === astra_get_option( 'secondary-button-color' ) ) { $btn_color_val = $scndry_btn_bg_color; } $scndry_btn_bg_color = 'transparent'; } /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $secondary_btn_desktop_font_size = is_array( $scndry_theme_btn_font_size ) && isset( $scndry_theme_btn_font_size['desktop'] ) && isset( $scndry_theme_btn_font_size['desktop-unit'] ) ? astra_get_font_css_value( $scndry_theme_btn_font_size['desktop'], $scndry_theme_btn_font_size['desktop-unit'] ) : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $outline_button_css_desktop = array( '.editor-styles-wrapper .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link, .ast-outline-button' => array( 'border-color' => esc_attr( $btn_border_color_val ), 'border-top-width' => esc_attr( $scndry_theme_btn_top_border ), 'border-right-width' => esc_attr( $scndry_theme_btn_right_border ), 'border-bottom-width' => esc_attr( $scndry_theme_btn_bottom_border ), 'border-left-width' => esc_attr( $scndry_theme_btn_left_border ), 'font-family' => astra_get_font_family( $scndry_theme_btn_font_family ), 'font-weight' => esc_attr( $scndry_theme_btn_font_weight ), 'font-size' => esc_attr( $secondary_btn_desktop_font_size ), 'line-height' => esc_attr( $scndry_theme_btn_line_height ), 'text-transform' => esc_attr( $scndry_theme_btn_text_transform ), 'text-decoration' => esc_attr( $scndry_theme_btn_text_decoration ), 'letter-spacing' => esc_attr( $scndry_theme_btn_letter_spacing ), 'padding-top' => astra_responsive_spacing( $scndry_theme_btn_padding, 'top', 'desktop' ), 'padding-right' => astra_responsive_spacing( $scndry_theme_btn_padding, 'right', 'desktop' ), 'padding-bottom' => astra_responsive_spacing( $scndry_theme_btn_padding, 'bottom', 'desktop' ), 'padding-left' => astra_responsive_spacing( $scndry_theme_btn_padding, 'left', 'desktop' ), 'border-top-left-radius' => esc_attr( $scndry_btn_border_radius_top ), 'border-top-right-radius' => esc_attr( $scndry_btn_border_radius_right ), 'border-bottom-right-radius' => esc_attr( $scndry_btn_border_radius_bottom ), 'border-bottom-left-radius' => esc_attr( $scndry_btn_border_radius_left ), 'background-color' => empty( $scndry_btn_bg_color ) ? 'transparent' : esc_attr( $scndry_btn_bg_color ), ), '.editor-styles-wrapper .uagb-buttons-repeater.ast-outline-button' => array( 'border-top-left-radius' => esc_attr( $scndry_btn_border_radius_top ), 'border-top-right-radius' => esc_attr( $scndry_btn_border_radius_right ), 'border-bottom-right-radius' => esc_attr( $scndry_btn_border_radius_bottom ), 'border-bottom-left-radius' => esc_attr( $scndry_btn_border_radius_left ), ), '.editor-styles-wrapper .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color), .wp-block-buttons .wp-block-button.wp-block-button__link.is-style-outline:not(.has-text-color), .ast-outline-button' => array( 'color' => esc_attr( $btn_color_val ), ), '.editor-styles-wrapper .wp-block-button.is-style-outline .wp-block-button__link:hover, .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link:focus, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover, .wp-block-buttons .wp-block-button.wp-block-button__link.is-style-outline:not(.has-text-color):hover, .ast-outline-button:hover, .ast-outline-button:focus, .editor-styles-wrapper .uagb-buttons-repeater.ast-outline-button:hover, .editor-styles-wrapper .uagb-buttons-repeater.ast-outline-button:focus' => array( 'color' => empty( $scndry_btn_text_hover_color ) ? esc_attr( $btn_text_hover_color ) : esc_attr( $scndry_btn_text_hover_color ), 'background-color' => empty( $scndry_btn_bg_hover_color ) ? esc_attr( $btn_bg_hover_color ) : esc_attr( $scndry_btn_bg_hover_color ), 'border-color' => esc_attr( $btn_border_h_color_val ), ), // Primary hover styles. ':where(.editor-styles-wrapper .wp-block-button):not(.is-style-outline) .wp-block-button__link:hover, .block-editor-writing-flow .wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button:hover, .block-editor-writing-flow .wp-block-file .wp-block-file__button:hover' => array( 'color' => esc_attr( $btn_text_hover_color ), 'background-color' => esc_attr( $btn_bg_hover_color ), 'border-color' => empty( $btn_border_h_color ) ? esc_attr( $btn_bg_hover_color ) : esc_attr( $btn_border_h_color ), ), ); // Secondary button preset compatibility. if ( 'button_01' === $secondary_btn_preset_style || 'button_02' === $secondary_btn_preset_style || 'button_03' === $secondary_btn_preset_style ) { if ( empty( $scndry_btn_text_color ) ) { $scndry_btn_text_color = astra_get_foreground_color( $theme_color ); } $outline_button_css_desktop['.wp-block-buttons .wp-block-button .wp-block-button__link.is-style-outline:not(.has-background), .wp-block-buttons .wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background)'] = array( 'background-color' => empty( $scndry_btn_bg_color ) ? esc_attr( $theme_color ) : esc_attr( $scndry_btn_bg_color ), 'color' => esc_attr( $scndry_btn_text_color ), ); } $desktop_css = array_merge( $desktop_css, $outline_button_css_desktop ); $content_links_underline = astra_get_option( 'underline-content-links' ); if ( $content_links_underline ) { $desktop_css['.editor-styles-wrapper .is-root-container a'] = array( 'text-decoration' => 'underline', ); $reset_underline_from_anchors = Astra_Dynamic_CSS::unset_builder_elements_underline(); $buttons_excluded_selectors = Astra_Dynamic_CSS::astra_4_6_4_compatibility() ? '.edit-post-visual-editor a.uagb-tabs-list, .edit-post-visual-editor .uagb-ifb-cta a, .edit-post-visual-editor a.uagb-marketing-btn__link, .edit-post-visual-editor .uagb-post-grid a, .edit-post-visual-editor .uagb-toc__wrap a, .edit-post-visual-editor .uagb-taxomony-box a, .edit-post-visual-editor .uagb_review_block a, .editor-styles-wrapper .uagb-blockquote a, .editor-styles-wrapper .is-root-container .wc-block-components-product-name, .editor-styles-wrapper .is-root-container .wc-block-components-totals-coupon-link' : '.edit-post-visual-editor a.uagb-tabs-list, .edit-post-visual-editor .uagb-ifb-cta a, .edit-post-visual-editor a.uagb-marketing-btn__link, .edit-post-visual-editor .uagb-post-grid a, .edit-post-visual-editor .uagb-toc__wrap a, .edit-post-visual-editor .uagb-taxomony-box a, .edit-post-visual-editor .uagb_review_block a, .editor-styles-wrapper .uagb-blockquote a, .editor-styles-wrapper .wp-block-button:not(.is-style-outline) .wp-block-button__link, .editor-styles-wrapper .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link, .ast-outline-button, .editor-styles-wrapper .is-root-container .wc-block-components-product-name, .editor-styles-wrapper .is-root-container .wc-block-components-totals-coupon-link'; $excluding_anchor_selectors = $reset_underline_from_anchors ? $buttons_excluded_selectors : ''; $desktop_css[ $excluding_anchor_selectors ] = array( 'text-decoration' => 'none', ); } if ( $astra_is_block_editor_v2_ui ) { $single_post_continer_spacing = astra_get_option( 'single-post-inside-spacing' ); $astra_continer_left_spacing = defined( 'ASTRA_EXT_VER' ) && astra_responsive_spacing( $single_post_continer_spacing, 'left', 'desktop' ) ? astra_responsive_spacing( $single_post_continer_spacing, 'left', 'desktop' ) : '6.67em'; $astra_continer_right_spacing = defined( 'ASTRA_EXT_VER' ) && astra_responsive_spacing( $single_post_continer_spacing, 'right', 'desktop', '6.67' ) ? astra_responsive_spacing( $single_post_continer_spacing, 'right', 'desktop', '6.67' ) : '6.67em'; $alignwide_left_negative_margin = $astra_continer_left_spacing ? 'calc(-1 * min(' . $astra_continer_left_spacing . ', 40px))' : '-40px'; $alignwide_right_negative_margin = $astra_continer_right_spacing ? 'calc(-1 * min(' . $astra_continer_right_spacing . ', 40px))' : '-40px'; $heading_width_comp = Astra_Dynamic_CSS::astra_4_8_0_compatibility() ? 'none' : 'var(--wp--custom--ast-content-width-size)'; $container_width_comp = Astra_Dynamic_CSS::astra_4_8_4_compatibility() ? 'var(--wp--custom--ast-content-width-size)' : ''; $desktop_css['.editor-styles-wrapper .wp-block-latest-posts > li > a'] = array( 'text-decoration' => 'none', 'font-size' => '1.25rem', ); $desktop_css['.ast-plain-container.ast-no-sidebar .editor-styles-wrapper .is-root-container.block-editor-block-list__layout > .alignwide:is(.uagb-is-root-container, .spectra-is-root-container)'] = array( 'max-width' => $container_width_comp, ); $desktop_css['.ast-separate-container .editor-styles-wrapper .block-editor-block-list__layout.is-root-container .alignwide, .ast-plain-container .editor-styles-wrapper .block-editor-block-list__layout.is-root-container .alignwide'] = array( 'margin-left' => $alignwide_left_negative_margin, 'margin-right' => $alignwide_right_negative_margin, ); $desktop_css['.ast-page-builder-template .editor-styles-wrapper .block-editor-block-list__layout.is-root-container > *.wp-block, .ast-page-builder-template .is-root-container > .alignfull:not(.wp-block-group) > :where(:not(.alignleft):not(.alignright)), .editor-styles-wrapper .is-root-container > .wp-block-cover.alignfull .wp-block-cover__image-background'] = array( 'max-width' => 'none', ); $desktop_css['.ast-page-builder-template .is-root-container > .alignwide > :where(:not(.alignleft):not(.alignright)), .editor-styles-wrapper .is-root-container > .wp-block-cover.alignwide .wp-block-cover__image-background'] = array( 'max-width' => 'var(--wp--custom--ast-wide-width-size)', ); $desktop_css['.ast-page-builder-template .is-root-container > .inherit-container-width > *, .ast-page-builder-template .is-root-container > *:not(.wp-block-group) > :where(:not(.alignleft):not(.alignright)), .is-root-container .wp-block-cover .wp-block-cover__inner-container, .editor-styles-wrapper .is-root-container > .wp-block-cover .wp-block-cover__inner-container, .is-root-container > .wp-block-cover .wp-block-cover__image-background'] = array( 'max-width' => $heading_width_comp, // phpcs:ignore WordPress.Arrays.ArrayIndentation.ItemNotAligned 'margin-right' => 'auto', // phpcs:ignore WordPress.Arrays.ArrayIndentation.ItemNotAligned 'margin-left' => 'auto', // phpcs:ignore WordPress.Arrays.ArrayIndentation.ItemNotAligned ); // phpcs:ignore WordPress.Arrays.ArrayIndentation.CloseBraceNotAligned } else { $desktop_css['.editor-styles-wrapper .wp-block-latest-posts > li > a'] = array( 'text-decoration' => 'none', 'color' => esc_attr( $heading_base_color ), ); } $tablet_css = array( ':root, body .editor-styles-wrapper' => array( '--wp--custom--ast-default-block-top-padding' => $tablet_top_spacing, '--wp--custom--ast-default-block-right-padding' => $tablet_right_spacing, '--wp--custom--ast-default-block-bottom-padding' => $tablet_bottom_spacing, '--wp--custom--ast-default-block-left-padding' => $tablet_left_spacing, ), // Heading H1 - H6 font size. '.editor-styles-wrapper h1' => array( 'font-size' => astra_responsive_font( $heading_h1_font_size, 'tablet', '30' ), ), '.editor-styles-wrapper h2' => array( 'font-size' => astra_responsive_font( $heading_h2_font_size, 'tablet', '25' ), ), '.editor-styles-wrapper h3' => array( 'font-size' => astra_responsive_font( $heading_h3_font_size, 'tablet', '20' ), ), '.editor-styles-wrapper h4' => array( 'font-size' => astra_responsive_font( $heading_h4_font_size, 'tablet' ), ), '.editor-styles-wrapper h5' => array( 'font-size' => astra_responsive_font( $heading_h5_font_size, 'tablet' ), ), '.editor-styles-wrapper h6' => array( 'font-size' => astra_responsive_font( $heading_h6_font_size, 'tablet' ), ), '.edit-post-visual-editor__post-title-wrapper' => array( 'margin-top' => '0', ), '#editor .edit-post-visual-editor' => astra_get_responsive_background_obj( $site_background, 'tablet' ), '.editor-styles-wrapper' => astra_get_responsive_background_obj( $content_background, 'tablet' ), ); /** * Tablet site title. */ $tablet_css['.editor-styles-wrapper .edit-post-visual-editor__post-title-wrapper > h1'] = array( 'font-size' => astra_responsive_font( $site_title_font_size, 'tablet' ), ); $mobile_css = array( ':root, body .editor-styles-wrapper' => array( '--wp--custom--ast-default-block-top-padding' => $mobile_top_spacing, '--wp--custom--ast-default-block-right-padding' => $mobile_right_spacing, '--wp--custom--ast-default-block-bottom-padding' => $mobile_bottom_spacing, '--wp--custom--ast-default-block-left-padding' => $mobile_left_spacing, ), // Heading H1 - H6 font size. '.editor-styles-wrapper h1' => array( 'font-size' => astra_responsive_font( $heading_h1_font_size, 'mobile', '30' ), ), '.editor-styles-wrapper h2' => array( 'font-size' => astra_responsive_font( $heading_h2_font_size, 'mobile', '25' ), ), '.editor-styles-wrapper h3' => array( 'font-size' => astra_responsive_font( $heading_h3_font_size, 'mobile', '20' ), ), '.editor-styles-wrapper h4' => array( 'font-size' => astra_responsive_font( $heading_h4_font_size, 'mobile' ), ), '.editor-styles-wrapper h5' => array( 'font-size' => astra_responsive_font( $heading_h5_font_size, 'mobile' ), ), '.editor-styles-wrapper h6' => array( 'font-size' => astra_responsive_font( $heading_h6_font_size, 'mobile' ), ), '#editor .edit-post-visual-editor' => astra_get_responsive_background_obj( $site_background, 'mobile' ), '.editor-styles-wrapper' => astra_get_responsive_background_obj( $content_background, 'mobile' ), ); /** * Mobile site title. */ $mobile_css['.editor-styles-wrapper .edit-post-visual-editor__post-title-wrapper > h1'] = array( 'font-size' => astra_responsive_font( $site_title_font_size, 'mobile' ), ); /** * Core blocks custom spacing support. * Case :- Do not apply custom padding for custom layout group, cover & column blocks. */ if ( 'astra-advanced-hook' !== $post_type ) { $desktop_css['.block-editor-block-list__layout.is-root-container > .wp-block-group, .block-editor-block-list__layout.is-root-container > [data-align="wide"] > .wp-block-group, .block-editor-block-list__layout.is-root-container > [data-align="full"] > .wp-block-group, .block-editor-block-list__layout.is-root-container > .wp-block-cover, .block-editor-block-list__layout.is-root-container > [data-align="wide"] > .wp-block-cover, .block-editor-block-list__layout.is-root-container > [data-align="full"] > .wp-block-cover, .block-editor-block-list__layout.is-root-container > .wp-block-columns, .block-editor-block-list__layout.is-root-container > [data-align="wide"] > .wp-block-columns, .block-editor-block-list__layout.is-root-container > [data-align="full"] > .wp-block-columns'] = array( 'padding-top' => 'var(--wp--custom--ast-default-block-top-padding)', 'padding-right' => 'var(--wp--custom--ast-default-block-right-padding)', 'padding-bottom' => 'var(--wp--custom--ast-default-block-bottom-padding)', 'padding-left' => 'var(--wp--custom--ast-default-block-left-padding)', ); } $css .= astra_parse_css( $desktop_css ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css .= astra_parse_css( $tablet_css, '', astra_get_tablet_breakpoint() ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css .= astra_parse_css( $mobile_css, '', astra_get_mobile_breakpoint() ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort return $css; } }/** * Class Astra_API_Init. * * @package Astra * @since 4.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } // Bail if WP_REST_Controller class does not exist. if ( ! class_exists( 'WP_REST_Controller' ) ) { return; } /** * Astra_API_Init. * * @since 4.1.0 */ class Astra_API_Init extends WP_REST_Controller { /** * Instance * * @var null $instance * @since 4.0.0 */ private static $instance; /** * Initiator * * @since 4.0.0 * @return object initialized object of class. */ public static function get_instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Namespace. * * @var string */ protected $namespace = 'astra/v1'; /** * Route base. * * @var string */ protected $rest_base = '/admin/settings/'; /** * Option name * * @var string $option_name DB option name. * @since 4.0.0 */ private static $option_name = 'astra_admin_settings'; /** * Admin settings dataset * * @var array $astra_admin_settings Settings array. * @since 4.0.0 */ private static $astra_admin_settings = array(); /** * Constructor * * @since 4.0.0 */ public function __construct() { self::$astra_admin_settings = get_option( self::$option_name, array() ); // REST API extensions init. add_action( 'rest_api_init', array( $this, 'register_routes' ) ); } /** * Register API routes. * * @since 4.0.0 */ public function register_routes() { register_rest_route( $this->namespace, $this->rest_base, array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_admin_settings' ), 'permission_callback' => array( $this, 'get_permissions_check' ), 'args' => array(), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); } /** * Get common settings. * * @param WP_REST_Request $request Full details about the request. * @return array $updated_option defaults + set DB option data. * * @since 4.0.0 */ public function get_admin_settings( $request ) { $db_option = get_option( 'astra_admin_settings', array() ); $defaults = apply_filters( 'astra_dashboard_rest_options', array( 'self_hosted_gfonts' => self::get_admin_settings_option( 'self_hosted_gfonts', false ), 'preload_local_fonts' => self::get_admin_settings_option( 'preload_local_fonts', false ), 'use_old_header_footer' => astra_get_option( 'is-header-footer-builder', false ), 'use_upgrade_notices' => astra_showcase_upgrade_notices(), 'analytics_enabled' => get_option( 'astra_analytics_optin', 'no' ) === 'yes', ) ); return wp_parse_args( $db_option, $defaults ); } /** * Check whether a given request has permission to read notes. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|bool * @since 4.0.0 */ public function get_permissions_check( $request ) { if ( ! current_user_can( 'edit_theme_options' ) ) { return new WP_Error( 'astra_rest_cannot_view', esc_html__( 'Sorry, you cannot list resources.', 'astra' ), array( 'status' => rest_authorization_required_code() ) ); } return true; } /** * Returns an value, * based on the settings database option for the admin settings page. * * @param string $key The sub-option key. * @param mixed $default Option default value if option is not available. * @return mixed Return the option value based on provided key * @since 4.0.0 */ public static function get_admin_settings_option( $key, $default = false ) { return isset( self::$astra_admin_settings[ $key ] ) ? self::$astra_admin_settings[ $key ] : $default; } /** * Update an value of a key, * from the settings database option for the admin settings page. * * @param string $key The option key. * @param mixed $value The value to update. * @return mixed Return the option value based on provided key * @since 4.0.0 */ public static function update_admin_settings_option( $key, $value ) { $astra_admin_updated_settings = get_option( self::$option_name, array() ); $astra_admin_updated_settings[ $key ] = $value; update_option( self::$option_name, $astra_admin_updated_settings ); } } Astra_API_Init::get_instance();/** * LearnDash Compatibility File. * * @package Astra * @since 1.3.0 */ // If plugin - 'LearnDash' not exist then return. if ( ! class_exists( 'SFWD_LMS' ) ) { return; } /** * Astra LearnDash Compatibility */ if ( ! class_exists( 'Astra_LearnDash' ) ) { /** * Astra LearnDash Compatibility * * @since 1.3.0 */ class Astra_LearnDash { /** * Member Variable * * @var object instance */ private static $instance; /** * Initiator */ public static function get_instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor */ public function __construct() { add_filter( 'astra_theme_assets', array( $this, 'add_styles' ) ); add_filter( 'astra_dynamic_theme_css', array( $this, 'add_dynamic_styles' ) ); add_action( 'customize_register', array( $this, 'customize_register' ), 2 ); add_filter( 'astra_theme_defaults', array( $this, 'theme_defaults' ) ); // Sidebar Layout. add_filter( 'astra_page_layout', array( $this, 'sidebar_layout' ) ); // Content Layout. add_filter( 'astra_get_content_layout', array( $this, 'content_layout' ) ); } /** * Enqueue styles * * @param String $dynamic_css Astra Dynamic CSS. * @param String $dynamic_css_filtered Astra Dynamic CSS Filters. * @since 1.3.0 * @return String Dynamic CSS. */ public function add_dynamic_styles( $dynamic_css, $dynamic_css_filtered = '' ) { $active_ld_theme = ''; if ( is_callable( 'LearnDash_Theme_Register::get_active_theme_key' ) ) { $active_ld_theme = LearnDash_Theme_Register::get_active_theme_key(); } if ( 'ld30' === $active_ld_theme ) { return $dynamic_css; } $dynamic_css .= self::ld_static_css(); /** * - Variable Declaration */ $is_site_rtl = is_rtl(); $link_color = astra_get_option( 'link-color' ); $theme_color = astra_get_option( 'theme-color' ); $text_color = astra_get_option( 'text-color' ); $link_h_color = astra_get_option( 'link-h-color' ); $body_font_family = astra_body_font_family(); $link_forground_color = astra_get_foreground_color( $link_color ); $theme_forground_color = astra_get_foreground_color( $theme_color ); $btn_color = astra_get_option( 'button-color' ); if ( empty( $btn_color ) ) { $btn_color = $link_forground_color; } $btn_h_color = astra_get_option( 'button-h-color' ); if ( empty( $btn_h_color ) ) { $btn_h_color = astra_get_foreground_color( $link_h_color ); } $btn_bg_color = astra_get_option( 'button-bg-color', '', $theme_color ); $btn_bg_h_color = astra_get_option( 'button-bg-h-color', '', $link_h_color ); $btn_border_radius_fields = astra_get_option( 'button-radius-fields' ); $archive_post_title_font_size = astra_get_option( 'font-size-page-title' ); $css_output = array( 'body #learndash_lessons a, body #learndash_quizzes a, body .expand_collapse a, body .learndash_topic_dots a, body .learndash_topic_dots a > span, body #learndash_lesson_topics_list span a, body #learndash_profile a, body #learndash_profile a span' => array( 'font-family' => astra_get_font_family( $body_font_family ), ), 'body #ld_course_list .btn, body a.btn-blue, body a.btn-blue:visited, body a#quiz_continue_link, body .btn-join, body .learndash_checkout_buttons input.btn-join[type="button"], body #btn-join, body .learndash_checkout_buttons input.btn-join[type="submit"], body .wpProQuiz_content .wpProQuiz_button2' => array( 'color' => $btn_color, 'border-color' => $btn_bg_color, 'background-color' => $btn_bg_color, 'border-top-left-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'top', 'desktop' ), 'border-top-right-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'right', 'desktop' ), 'border-bottom-right-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'bottom', 'desktop' ), 'border-bottom-left-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'left', 'desktop' ), ), 'body #ld_course_list .btn:hover, body #ld_course_list .btn:focus, body a.btn-blue:hover, body a.btn-blue:focus, body a#quiz_continue_link:hover, body a#quiz_continue_link:focus, body .btn-join:hover, body .learndash_checkout_buttons input.btn-join[type="button"]:hover, body .btn-join:focus, body .learndash_checkout_buttons input.btn-join[type="button"]:focus, .wpProQuiz_content .wpProQuiz_button2:hover, .wpProQuiz_content .wpProQuiz_button2:focus, body #btn-join:hover, body .learndash_checkout_buttons input.btn-join[type="submit"]:hover, body #btn-join:focus, body .learndash_checkout_buttons input.btn-join[type="submit"]:focus' => array( 'color' => $btn_h_color, 'border-color' => $btn_bg_h_color, 'background-color' => $btn_bg_h_color, ), 'body dd.course_progress div.course_progress_blue, body .wpProQuiz_content .wpProQuiz_time_limit .wpProQuiz_progress' => array( 'background-color' => $theme_color, ), 'body #learndash_lessons a, body #learndash_quizzes a, body .expand_collapse a, body .learndash_topic_dots a, body .learndash_topic_dots a > span, body #learndash_lesson_topics_list span a, body #learndash_profile a, #learndash_profile .profile_edit_profile a, body #learndash_profile .expand_collapse a, body #learndash_profile a span, #lessons_list .list-count, #quiz_list .list-count' => array( 'color' => $link_color, ), '.learndash .notcompleted:before, #learndash_profile .notcompleted:before, .learndash_topic_dots ul .topic-notcompleted span:before, .learndash_navigation_lesson_topics_list .topic-notcompleted span:before, .learndash_navigation_lesson_topics_list ul .topic-notcompleted span:before, .learndash .topic-notcompleted span:before' => array( 'color' => astra_hex_to_rgba( $text_color, .5 ), ), 'body .thumbnail.course .ld_course_grid_price, body .thumbnail.course .ld_course_grid_price.ribbon-enrolled, body #learndash_lessons #lesson_heading, body #learndash_profile .learndash_profile_heading, body #learndash_quizzes #quiz_heading, body #learndash_lesson_topics_list div > strong, body .learndash-pager span a, body #learndash_profile .learndash_profile_quiz_heading' => array( 'background-color' => $theme_color, 'color' => $theme_forground_color, ), '.learndash .completed:before, #learndash_profile .completed:before, .learndash_topic_dots ul .topic-completed span:before, .learndash_navigation_lesson_topics_list .topic-completed span:before, .learndash_navigation_lesson_topics_list ul .topic-completed span:before, .learndash .topic-completed span:before, body .list_arrow.lesson_completed:before' => array( 'color' => $theme_color, ), 'body .thumbnail.course .ld_course_grid_price:before' => array( 'border-top-color' => astra_hex_to_rgba( $theme_color, .75 ), 'border-right-color' => astra_hex_to_rgba( $theme_color, .75 ), ), 'body .wpProQuiz_loadQuiz, body .wpProQuiz_lock' => array( 'border-color' => astra_hex_to_rgba( $link_color, .5 ), 'background-color' => astra_hex_to_rgba( $link_color, .1 ), ), '#ld_course_list .entry-title' => array( 'font-size' => astra_responsive_font( $archive_post_title_font_size, 'desktop' ), ), ); if ( ! astra_get_option( 'learndash-lesson-serial-number' ) ) { $css_output['body #course_list .list-count, body #lessons_list .list-count, body #quiz_list .list-count'] = array( 'display' => 'none', ); $css_output['body #course_list > div h4 > a, body #lessons_list > div h4 > a, body #quiz_list > div h4 > a, body #learndash_course_content .learndash_topic_dots ul > li a'] = array( 'padding-left' => '.75em', 'margin-left' => 'auto', ); } if ( ! astra_get_option( 'learndash-differentiate-rows' ) ) { $css_output['body #course_list > div:nth-of-type(odd), body #lessons_list > div:nth-of-type(odd), body #quiz_list > div:nth-of-type(odd), body #learndash_lesson_topics_list .learndash_topic_dots ul > li.nth-of-type-odd'] = array( 'background' => 'none', ); } /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output ); $tablet_typography = array( 'body #ld_course_list .btn, body a.btn-blue, body a.btn-blue:visited, body a#quiz_continue_link, body .btn-join, body .learndash_checkout_buttons input.btn-join[type="button"], body #btn-join, body .learndash_checkout_buttons input.btn-join[type="submit"], body .wpProQuiz_content .wpProQuiz_button2' => array( 'border-top-left-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'top', 'tablet' ), 'border-top-right-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'right', 'tablet' ), 'border-bottom-right-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'bottom', 'tablet' ), 'border-bottom-left-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'left', 'tablet' ), ), '#ld_course_list .entry-title' => array( 'font-size' => astra_responsive_font( $archive_post_title_font_size, 'tablet', 30 ), ), ); /* Parse CSS from array()*/ $css_output .= astra_parse_css( $tablet_typography, '', astra_get_tablet_breakpoint() ); if ( $is_site_rtl ) { $mobile_min_width_css = array( 'body #learndash_profile .profile_edit_profile' => array( 'position' => 'absolute', 'top' => '15px', 'left' => '15px', ), ); } else { $mobile_min_width_css = array( 'body #learndash_profile .profile_edit_profile' => array( 'position' => 'absolute', 'top' => '15px', 'right' => '15px', ), ); } /* Parse CSS from array() -> min-width: (mobile-breakpoint + 1) px */ $css_output .= astra_parse_css( $mobile_min_width_css, astra_get_mobile_breakpoint( '', 1 ) ); $mobile_typography = array( 'body #ld_course_list .btn, body a.btn-blue, body a.btn-blue:visited, body a#quiz_continue_link, body .btn-join, body .learndash_checkout_buttons input.btn-join[type="button"], body #btn-join, body .learndash_checkout_buttons input.btn-join[type="submit"], body .wpProQuiz_content .wpProQuiz_button2' => array( 'border-top-left-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'top', 'mobile' ), 'border-top-right-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'right', 'mobile' ), 'border-bottom-right-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'bottom', 'mobile' ), 'border-bottom-left-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'left', 'mobile' ), ), '#ld_course_list .entry-title' => array( 'font-size' => astra_responsive_font( $archive_post_title_font_size, 'mobile', 30 ), ), '#learndash_next_prev_link a' => array( 'width' => '100%', ), '#learndash_next_prev_link a.prev-link' => array( 'margin-bottom' => '1em', ), '#ld_course_info_mycourses_list .ld-course-info-my-courses .ld-entry-title' => array( 'margin' => '0 0 20px', ), ); /* Parse CSS from array() -> max-width: (mobile-breakpoint) px */ $css_output .= astra_parse_css( $mobile_typography, '', astra_get_mobile_breakpoint() ); if ( $is_site_rtl ) { $mobile_typography_lang_direction_css = array( '#ld_course_info_mycourses_list .ld-course-info-my-courses img' => array( 'display' => 'block', 'margin-right' => 'initial', 'max-width' => '100%', 'margin' => '10px 0', ), ); } else { $mobile_typography_lang_direction_css = array( '#ld_course_info_mycourses_list .ld-course-info-my-courses img' => array( 'display' => 'block', 'margin-left' => 'initial', 'max-width' => '100%', 'margin' => '10px 0', ), ); } /* Parse CSS from array() -> max-width: (mobile-breakpoint) px */ $css_output .= astra_parse_css( $mobile_typography_lang_direction_css, '', astra_get_mobile_breakpoint() ); $dynamic_css .= apply_filters( 'astra_theme_learndash_dynamic_css', $css_output ); return $dynamic_css; } /** * Register Customizer sections and panel for learndash. * * @since 1.3.0 * @param WP_Customize_Manager $wp_customize Theme Customizer object. */ public function customize_register( $wp_customize ) { $active_ld_theme = ''; if ( is_callable( 'LearnDash_Theme_Register::get_active_theme_key' ) ) { $active_ld_theme = LearnDash_Theme_Register::get_active_theme_key(); } // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound /** * Register Sections & Panels */ require ASTRA_THEME_DIR . 'inc/compatibility/learndash/customizer/class-astra-customizer-register-learndash-section.php'; /** * Sections */ require ASTRA_THEME_DIR . 'inc/compatibility/learndash/customizer/sections/class-astra-learndash-container-configs.php'; require ASTRA_THEME_DIR . 'inc/compatibility/learndash/customizer/sections/class-astra-learndash-sidebar-configs.php'; if ( 'ld30' !== $active_ld_theme ) { require ASTRA_THEME_DIR . 'inc/compatibility/learndash/customizer/sections/layout/class-astra-learndash-general-configs.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } /** * Theme Defaults. * * @since 1.3.0 * @param array $defaults Array of options value. * @return array */ public function theme_defaults( $defaults ) { // General. $defaults['learndash-lesson-serial-number'] = false; $defaults['learndash-differentiate-rows'] = true; // Container. $defaults['learndash-ast-content-layout'] = 'normal-width-container'; // Sidebar. $defaults['learndash-sidebar-layout'] = 'default'; return $defaults; } /** * Add assets in theme * * @since 1.3.0 * @param array $assets list of theme assets (JS & CSS). * @return array List of updated assets. */ public function add_styles( $assets ) { $assets['css']['astra-learndash'] = 'compatibility/learndash'; return $assets; } /** * LeanDash Sidebar * * @since 1.3.0 * @param string $layout Layout type. * @return string $layout Layout type. */ public function sidebar_layout( $layout ) { if ( is_singular( 'sfwd-courses' ) || is_singular( 'sfwd-lessons' ) || is_singular( 'sfwd-topic' ) || is_singular( 'sfwd-quiz' ) || is_singular( 'sfwd-certificates' ) || is_singular( 'sfwd-assignment' ) ) { $learndash_sidebar = astra_get_option( 'learndash-sidebar-layout' ); if ( 'default' !== $learndash_sidebar ) { $layout = $learndash_sidebar; } $supported_post_types = Astra_Posts_Structure_Loader::get_supported_post_types(); $post_type = astra_get_post_type(); if ( in_array( $post_type, $supported_post_types ) ) { $dynamic_sidebar_layout = ''; if ( is_singular() ) { $dynamic_sidebar_layout = astra_get_option( 'single-' . $post_type . '-sidebar-layout' ); } if ( is_archive() ) { $dynamic_sidebar_layout = astra_get_option( 'archive-' . $post_type . '-sidebar-layout' ); } if ( ! empty( $dynamic_sidebar_layout ) && 'default' !== $dynamic_sidebar_layout ) { $layout = $dynamic_sidebar_layout; } } $sidebar = astra_get_option_meta( 'site-sidebar-layout', '', true ); if ( 'default' !== $sidebar && ! empty( $sidebar ) ) { $layout = $sidebar; } } // When Learhdash shortoce is used on the Page. // Applied only to the pages which uses the learndash shortcode. global $learndash_shortcode_used; if ( $learndash_shortcode_used && ! ( is_singular( 'sfwd-courses' ) || is_singular( 'sfwd-lessons' ) || is_singular( 'sfwd-topic' ) || is_singular( 'sfwd-quiz' ) || is_singular( 'sfwd-certificates' ) || is_singular( 'sfwd-assignment' ) ) ) { // Added check if the shortcode is used in the header. if ( ! did_action( 'astra_header' ) ) { // Page Meta Sidebar. $layout = astra_get_option_meta( 'site-sidebar-layout', '', true ); if ( empty( $layout ) ) { // Page Sidebar. $layout = astra_get_option( 'single-page-sidebar-layout' ); // Default Site Sidebar. if ( 'default' === $layout || empty( $layout ) ) { // Get the global sidebar value. // NOTE: Here not used `true` in the below function call. $layout = astra_get_option( 'site-sidebar-layout' ); } } } } return $layout; } /** * LeanDash Container * * @since 1.3.0 * @param string $layout Layout type. * @return string $layout Layout type. */ public function content_layout( $layout ) { if ( is_singular( 'sfwd-courses' ) || is_singular( 'sfwd-lessons' ) || is_singular( 'sfwd-topic' ) || is_singular( 'sfwd-quiz' ) || is_singular( 'sfwd-certificates' ) || is_singular( 'sfwd-assignment' ) ) { $learndash_layout = astra_toggle_layout( 'learndash-ast-content-layout', 'global', false ); if ( 'default' !== $learndash_layout ) { $layout = $learndash_layout; } $supported_post_types = Astra_Posts_Structure_Loader::get_supported_post_types(); $post_type = astra_get_post_type(); if ( in_array( $post_type, $supported_post_types ) ) { $dynamic_sidebar_layout = ''; if ( is_singular() ) { $dynamic_sidebar_layout = astra_toggle_layout( 'single-' . $post_type . '-ast-content-layout', 'single', false ); } if ( is_archive() ) { $dynamic_sidebar_layout = astra_toggle_layout( 'archive-' . $post_type . '-ast-content-layout', 'archive', false ); } if ( ! empty( $dynamic_sidebar_layout ) && 'default' !== $dynamic_sidebar_layout ) { $layout = $dynamic_sidebar_layout; } } $learndash_layout = astra_get_option_meta( 'site-content-layout', '', true ); if ( isset( $learndash_layout ) ) { $learndash_layout = astra_toggle_layout( 'ast-site-content-layout', 'meta', false, $learndash_layout ); } else { $learndash_layout = astra_toggle_layout( 'ast-site-content-layout', 'meta', false ); } if ( 'default' !== $learndash_layout && ! empty( $learndash_layout ) ) { $layout = $learndash_layout; } } return $layout; } /** * LearnDash Static CSS. * * @since 3.3.0 * @return string */ public static function ld_static_css() { $ld_static_css = ' .learndash .completed:before, .learndash .notcompleted:before, #learndash_profile .completed:before, #learndash_profile .notcompleted:before { content: "\e903"; display: inline-block; font-family: "Astra"; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; float: left; text-indent: 0; font-size: 1.5em; line-height: 1; } .learndash .completed:before, #learndash_profile .completed:before { content: "\e901"; font-weight: bold; } .learndash .completed:before, .learndash .notcompleted:before { position: absolute; top: 8px; right: .75em; width: 1.75em; text-align: center; line-height: 1.2; } .learndash .topic-completed span, .learndash .topic-notcompleted span { background: none; padding: 0; } .learndash .topic-completed span:before, .learndash .topic-notcompleted span:before { content: "\e903"; display: inline-block; font-family: "Astra"; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-size: 1.25em; } .learndash .topic-completed span:before { content: "\e901"; font-weight: bold; } body .learndash .completed, body .learndash .notcompleted, body #learndash_profile .completed, body #learndash_profile .notcompleted { line-height: 1.7; background: none; } body .learndash_profile_heading, body #learndash_profile a, body #learndash_profile div { ont-size: 1em; font-weight: inherit; } body #lessons_list > div h4, body #course_list > div h4, body #quiz_list > div h4, body #learndash_lesson_topics_list ul > li > span.topic_item { font-size: 1em; } body #learndash_lessons #lesson_heading, body #learndash_profile .learndash_profile_heading, body #learndash_quizzes #quiz_heading, body #learndash_lesson_topics_list div > strong { padding: 10px .75em; font-weight: 600; text-transform: uppercase; border-radius: 0; } body #learndash_lessons .right, body #learndash_quizzes .right { width: auto; } body .expand_collapse .expand_collapse, body #learndash_profile .expand_collapse { top: -1em; } body .expand_collapse .expand_collapse a, body #learndash_profile .expand_collapse a { font-size: .8em; } body .expand_collapse .list_arrow.collapse, body .expand_collapse .list_arrow.expand, body #learndash_profile .list_arrow.collapse, body #learndash_profile .list_arrow.expand { vertical-align: top; } body .expand_collapse .list_arrow.collapse:before, body .expand_collapse .list_arrow.expand:before, body #learndash_profile .list_arrow.collapse:before, body #learndash_profile .list_arrow.expand:before { content: "\e900"; transform: rotate(270deg); font-weight: bold; } body .expand_collapse .list_arrow.expand:before, body #learndash_profile .list_arrow.expand:before { transform: rotate(0deg); } body #learndash_lessons #lesson_heading, body #learndash_profile .learndash_profile_heading, body #learndash_quizzes #quiz_heading, body #learndash_lesson_topics_list div > strong { padding: 10px .75em; font-weight: 600; text-transform: uppercase; border-radius: 0; } body #learndash_lesson_topics_list ul > li > span.topic_item:hover { background: none; } body #learndash_lesson_topics_list .learndash_topic_dots { order: none; box-shadow: none; } body #learndash_lesson_topics_list .learndash_topic_dots ul { border: 1px solid #e2e2e2; border-top: none; overflow: hidden; } body #learndash_lesson_topics_list .learndash_topic_dots ul > li:last-child a { border-bottom: none; } body #learndash_lesson_topics_list .learndash_topic_dots ul > li.nth-of-type-odd { background: #fbfbfb; } body #learndash_lesson_topics_list .learndash_topic_dots .topic-completed, body #learndash_lesson_topics_list .learndash_topic_dots .topic-notcompleted { padding: 8px .75em; border-bottom: 1px solid #ddd; } body #learndash_lesson_topics_list .learndash_topic_dots .topic-completed span, body #learndash_lesson_topics_list .learndash_topic_dots .topic-notcompleted span { margin: 0 auto; display: inline; } body #learndash_lesson_topics_list ul > li > span.topic_item { font-size: 1em; } .learndash .completed:before, .learndash .notcompleted:before { position: absolute; top: 8px; right: .75em; width: 1.75em; text-align: center; line-height: 1.2; } .learndash .topic-completed span, .learndash .topic-notcompleted span { background: none; padding: 0; } .learndash .topic-completed span:before, .learndash .topic-notcompleted span:before { content: "\e903"; display: inline-block; font-family: "Astra"; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-size: 1.25em; } .learndash .topic-completed span:before { content: "\e901"; font-weight: bold; } .widget_ldcoursenavigation .learndash_topic_widget_list .topic-completed span:before, .widget_ldcoursenavigation .learndash_topic_widget_list .topic-notcompleted span:before { margin-left: 1px; margin-right: 9px; } body .learndash_navigation_lesson_topics_list .topic-notcompleted span, body .learndash_navigation_lesson_topics_list ul .topic-notcompleted span, body .learndash_topic_dots .topic-notcompleted span, body .learndash_topic_dots ul .topic-notcompleted span { margin: 5px 0; } body .learndash_navigation_lesson_topics_list .topic-completed span, body .learndash_navigation_lesson_topics_list .topic-notcompleted span, body .learndash_navigation_lesson_topics_list ul .topic-completed span, body .learndash_navigation_lesson_topics_list ul .topic-notcompleted span, body .learndash_topic_dots .topic-completed span, body .learndash_topic_dots .topic-notcompleted span, body .learndash_topic_dots ul .topic-completed span, body .learndash_topic_dots ul .topic-notcompleted span { padding-left: 0; background: none; margin: 5px 0; } body .learndash_navigation_lesson_topics_list .topic-completed span:before, body .learndash_navigation_lesson_topics_list .topic-notcompleted span:before, body .learndash_navigation_lesson_topics_list ul .topic-completed span:before, body .learndash_navigation_lesson_topics_list ul .topic-notcompleted span:before, body .learndash_topic_dots .topic-completed span:before, body .learndash_topic_dots .topic-notcompleted span:before, body .learndash_topic_dots ul .topic-completed span:before, body .learndash_topic_dots ul .topic-notcompleted span:before { content: "\e903"; display: inline-block; font-family: "Astra"; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-size: 1em; font-weight: normal; margin-right: 10px; } body .learndash_navigation_lesson_topics_list .topic-completed span:before, body .learndash_navigation_lesson_topics_list ul .topic-completed span:before, body .learndash_topic_dots .topic-completed span:before, body .learndash_topic_dots ul .topic-completed span:before { content: "\e901"; font-weight: bold; } .widget_ldcoursenavigation .learndash_topic_widget_list .topic-completed span:before, .widget_ldcoursenavigation .learndash_topic_widget_list .topic-notcompleted span:before { margin-left: 1px; margin-right: 9px; } body .learndash .topic-completed span, body .learndash .topic-notcompleted span { background: none; padding: 0; } #learndash_next_prev_link { margin: 0; padding: 2em 0 0; border-top: 1px solid #eeeeee; overflow: hidden; line-height: 0; } #learndash_next_prev_link a { margin: 2px; display: inline-block; padding: 0 1.5em; height: 2.33333em; line-height: 2.33333em; text-align: center; font-size: 16px; font-size: 1.06666rem; }'; return Astra_Enqueue_Scripts::trim_css( $ld_static_css ); } } } if ( apply_filters( 'astra_enable_learndash_integration', true ) ) { /** * Kicking this off by calling 'get_instance()' method */ Astra_LearnDash::get_instance(); }
Parse error: Unmatched '}' in /var/www/9e0c4291-3f86-4757-9656-1213daec6853/public_html/wp-content/themes/astra/inc/builder/controllers/class-astra-builder-ui-controller.php on line 238