Astra_Ext_Typography_Loader
Description
Source
File: addons/typography/classes/class-astra-ext-typography-loader.php
class Astra_Ext_Typography_Loader {
/**
* Member Variable
*
* @var 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_action( 'init', array( $this, 'disale_qm_cap_checking' ) );
add_filter( 'astra_theme_defaults', array( $this, 'theme_defaults' ) );
add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 9 );
add_action( 'customize_register', array( $this, 'customize_register_new' ), 2 );
add_action( 'astra_get_fonts', array( $this, 'add_fonts' ), 1 );
add_filter( 'uabb_theme_button_font_family', array( $this, 'button_font_family' ), 11 );
add_filter( 'uabb_theme_button_font_size', array( $this, 'button_font_size' ), 11 );
add_filter( 'uabb_theme_button_text_transform', array( $this, 'button_text_transform' ), 11 );
}
/**
* Add Font Family Callback
*
* @return void
*/
public function add_fonts() {
$font_family_header_content = astra_get_option( 'font-family-header-content' );
$font_weight_header_content = astra_get_option( 'font-weight-header-content' );
Astra_Fonts::add_font( $font_family_header_content, $font_weight_header_content );
$font_family_site_title = astra_get_option( 'font-family-site-title' );
$font_weight_site_title = astra_get_option( 'font-weight-site-title' );
Astra_Fonts::add_font( $font_family_site_title, $font_weight_site_title );
$font_family_site_tagline = astra_get_option( 'font-family-site-tagline' );
$font_weight_site_tagline = astra_get_option( 'font-weight-site-tagline' );
Astra_Fonts::add_font( $font_family_site_tagline, $font_weight_site_tagline );
$font_family_primary_menu = astra_get_option( 'font-family-primary-menu' );
$font_weight_primary_menu = astra_get_option( 'font-weight-primary-menu' );
Astra_Fonts::add_font( $font_family_primary_menu, $font_weight_primary_menu );
$font_family_primary_dropdown_menu = astra_get_option( 'font-family-primary-dropdown-menu' );
$font_weight_primary_dropdown_menu = astra_get_option( 'font-weight-primary-dropdown-menu' );
Astra_Fonts::add_font( $font_family_primary_dropdown_menu, $font_weight_primary_dropdown_menu );
$font_family_single_entry_title = astra_get_option( 'font-family-entry-title' );
$font_weight_single_entry_title = astra_get_option( 'font-weight-entry-title' );
Astra_Fonts::add_font( $font_family_single_entry_title, $font_weight_single_entry_title );
$font_family_archive_summary_title = astra_get_option( 'font-family-archive-summary-title' );
$font_weight_archive_summary_title = astra_get_option( 'font-weight-archive-summary-title' );
Astra_Fonts::add_font( $font_family_archive_summary_title, $font_weight_archive_summary_title );
$font_family_archive_page_title = astra_get_option( 'font-family-page-title' );
$font_weight_archive_page_title = astra_get_option( 'font-weight-page-title' );
Astra_Fonts::add_font( $font_family_archive_page_title, $font_weight_archive_page_title );
$font_family_post_meta = astra_get_option( 'font-family-post-meta' );
$font_weight_post_meta = astra_get_option( 'font-weight-post-meta' );
Astra_Fonts::add_font( $font_family_post_meta, $font_weight_post_meta );
$font_family_widget_title = astra_get_option( 'font-family-widget-title' );
$font_weight_widget_title = astra_get_option( 'font-weight-widget-title' );
Astra_Fonts::add_font( $font_family_widget_title, $font_weight_widget_title );
$font_family_widget_content = astra_get_option( 'font-family-widget-content' );
$font_weight_widget_content = astra_get_option( 'font-weight-widget-content' );
Astra_Fonts::add_font( $font_family_widget_content, $font_weight_widget_content );
$font_family_footer_content = astra_get_option( 'font-family-footer-content' );
$font_weight_footer_content = astra_get_option( 'font-weight-footer-content' );
Astra_Fonts::add_font( $font_family_footer_content, $font_weight_footer_content );
if ( astra_addon_has_gcp_typo_preset_compatibility() ) {
$font_family_h1 = astra_get_option( 'font-family-h1' );
$font_weight_h1 = astra_get_option( 'font-weight-h1' );
Astra_Fonts::add_font( $font_family_h1, $font_weight_h1 );
$font_family_h2 = astra_get_option( 'font-family-h2' );
$font_weight_h2 = astra_get_option( 'font-weight-h2' );
Astra_Fonts::add_font( $font_family_h2, $font_weight_h2 );
$font_family_h3 = astra_get_option( 'font-family-h3' );
$font_weight_h3 = astra_get_option( 'font-weight-h3' );
Astra_Fonts::add_font( $font_family_h3, $font_weight_h3 );
$font_family_h4 = astra_get_option( 'font-family-h4' );
$font_weight_h4 = astra_get_option( 'font-weight-h4' );
Astra_Fonts::add_font( $font_family_h4, $font_weight_h4 );
$font_family_h5 = astra_get_option( 'font-family-h5' );
$font_weight_h5 = astra_get_option( 'font-weight-h5' );
Astra_Fonts::add_font( $font_family_h5, $font_weight_h5 );
$font_family_h6 = astra_get_option( 'font-family-h6' );
$font_weight_h6 = astra_get_option( 'font-weight-h6' );
Astra_Fonts::add_font( $font_family_h6, $font_weight_h6 );
}
$font_family_button = astra_get_option( 'font-family-button' );
$font_weight_button = astra_get_option( 'font-weight-button' );
Astra_Fonts::add_font( $font_family_button, $font_weight_button );
if ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) {
/**
* Footer - Copyright
*/
if ( Astra_Addon_Builder_Helper::is_component_loaded( 'copyright', 'footer' ) ) {
$copyright_font_family = astra_get_option( 'font-family-section-footer-copyright' );
$copyright_font_weight = astra_get_option( 'font-weight-section-footer-copyright' );
Astra_Fonts::add_font( $copyright_font_family, $copyright_font_weight );
}
/**
* Header - Account
*/
if ( Astra_Addon_Builder_Helper::is_component_loaded( 'account', 'header' ) ) {
$account_font_family = astra_get_option( 'section-header-account-menu-font-family' );
$account_font_weight = astra_get_option( 'section-header-account-menu-font-weight' );
Astra_Fonts::add_font( $account_font_family, $account_font_weight );
}
/**
* Footer - HTML
*/
$num_of_footer_html = astra_addon_builder_helper()->num_of_footer_html;
for ( $index = 1; $index <= $num_of_footer_html; $index++ ) {
if ( ! Astra_Addon_Builder_Helper::is_component_loaded( 'html-' . $index, 'footer' ) ) {
continue;
}
$_prefix = 'section-fb-html-' . $index;
$html_font_family = astra_get_option( 'font-family-' . $_prefix );
$html_font_weight = astra_get_option( 'font-weight-' . $_prefix );
Astra_Fonts::add_font( $html_font_family, $html_font_weight );
}
/**
* Header - HTML
*/
$num_of_header_html = astra_addon_builder_helper()->num_of_header_html;
for ( $index = 1; $index <= $num_of_header_html; $index++ ) {
if ( ! Astra_Addon_Builder_Helper::is_component_loaded( 'html-' . $index, 'header' ) ) {
continue;
}
$_prefix = 'section-hb-html-' . $index;
$html_font_family = astra_get_option( 'font-family-' . $_prefix );
$html_font_weight = astra_get_option( 'font-weight-' . $_prefix );
Astra_Fonts::add_font( $html_font_family, $html_font_weight );
}
/**
* Footer - Button
*/
$num_of_footer_button = astra_addon_builder_helper()->num_of_footer_button;
for ( $index = 1; $index <= $num_of_footer_button; $index++ ) {
if ( ! Astra_Addon_Builder_Helper::is_component_loaded( 'button-' . $index, 'footer' ) ) {
continue;
}
$_prefix = 'button' . $index;
$btn_font_family = astra_get_option( 'footer-' . $_prefix . '-font-family' );
$btn_font_weight = astra_get_option( 'footer-' . $_prefix . '-font-weight' );
Astra_Fonts::add_font( $btn_font_family, $btn_font_weight );
}
/**
* Header - Button
*/
$num_of_header_button = astra_addon_builder_helper()->num_of_header_button;
for ( $index = 1; $index <= $num_of_header_button; $index++ ) {
if ( ! Astra_Addon_Builder_Helper::is_component_loaded( 'button-' . $index, 'header' ) ) {
continue;
}
$_prefix = 'button' . $index;
$btn_font_family = astra_get_option( 'header-' . $_prefix . '-font-family' );
$btn_font_weight = astra_get_option( 'header-' . $_prefix . '-font-weight' );
Astra_Fonts::add_font( $btn_font_family, $btn_font_weight );
}
/**
* Footer - Social
*/
$num_of_footer_social_icons = astra_addon_builder_helper()->num_of_footer_social_icons;
for ( $index = 1; $index <= $num_of_footer_social_icons; $index++ ) {
if ( ! Astra_Addon_Builder_Helper::is_component_loaded( 'social-icons-' . $index, 'footer' ) ) {
continue;
}
$_prefix = 'section-fb-social-icons-' . $index;
$social_footer_font_family = astra_get_option( 'font-family-' . $_prefix );
$social_footer_font_weight = astra_get_option( 'font-weight-' . $_prefix );
Astra_Fonts::add_font( $social_footer_font_family, $social_footer_font_weight );
}
/**
* Header - Social
*/
$num_of_header_social_icons = astra_addon_builder_helper()->num_of_header_social_icons;
for ( $index = 1; $index <= $num_of_header_social_icons; $index++ ) {
if ( ! Astra_Addon_Builder_Helper::is_component_loaded( 'social-icons-' . $index, 'header' ) ) {
continue;
}
$_prefix = 'section-hb-social-icons-' . $index;
$social_header_font_family = astra_get_option( 'font-family-' . $_prefix );
$social_header_font_weight = astra_get_option( 'font-weight-' . $_prefix );
Astra_Fonts::add_font( $social_header_font_family, $social_header_font_weight );
}
/**
* Header - Widgets
*/
$num_of_header_widgets = astra_addon_builder_helper()->num_of_header_widgets;
for ( $index = 1; $index <= $num_of_header_widgets; $index++ ) {
if ( ! Astra_Addon_Builder_Helper::is_component_loaded( 'widget-' . $index, 'header' ) ) {
continue;
}
$_prefix = 'widget-' . $index;
$widget_font_family = astra_get_option( 'header-' . $_prefix . '-font-family' );
$widget_font_weight = astra_get_option( 'header-' . $_prefix . '-font-weight' );
Astra_Fonts::add_font( $widget_font_family, $widget_font_weight );
$widget_content_font_family = astra_get_option( 'header-' . $_prefix . '-content-font-family' );
$widget_content_font_weight = astra_get_option( 'header-' . $_prefix . '-content-font-weight' );
Astra_Fonts::add_font( $widget_content_font_family, $widget_content_font_weight );
}
/**
* Footer - Widgets
*/
$num_of_footer_widgets = astra_addon_builder_helper()->num_of_footer_widgets;
for ( $index = 1; $index <= $num_of_footer_widgets; $index++ ) {
if ( ! Astra_Addon_Builder_Helper::is_component_loaded( 'widget-' . $index, 'footer' ) ) {
continue;
}
$_prefix = 'widget-' . $index;
$widget_font_family = astra_get_option( 'footer-' . $_prefix . '-font-family' );
$widget_font_weight = astra_get_option( 'footer-' . $_prefix . '-font-weight' );
Astra_Fonts::add_font( $widget_font_family, $widget_font_weight );
$widget_content_font_family = astra_get_option( 'footer-' . $_prefix . '-content-font-family' );
$widget_content_font_weight = astra_get_option( 'footer-' . $_prefix . '-content-font-weight' );
Astra_Fonts::add_font( $widget_content_font_family, $widget_content_font_weight );
}
/**
* Mobile Trigger
*/
$header_menu_trigger_font_family = astra_get_option( 'mobile-header-label-font-family' );
$header_menu_trigger_font_weight = astra_get_option( 'mobile-header-label-font-weight' );
Astra_Fonts::add_font( $header_menu_trigger_font_family, $header_menu_trigger_font_weight );
/**
* Header - Menu
*/
$component_limit = astra_addon_builder_helper()->component_limit;
for ( $index = 1; $index <= $component_limit; $index++ ) {
$_prefix = 'menu' . $index;
$submenu_font_family = astra_get_option( 'header-font-family-' . $_prefix . '-sub-menu' );
$submenu_font_weight = astra_get_option( 'header-font-weight-' . $_prefix . '-sub-menu' );
Astra_Fonts::add_font( $submenu_font_family, $submenu_font_weight );
if ( 3 > $index ) {
$megamenu_font_family = astra_get_option( 'header-' . $_prefix . '-megamenu-heading-font-family' );
$megamenu_font_weight = astra_get_option( 'header-' . $_prefix . '-megamenu-heading-font-weight' );
Astra_Fonts::add_font( $megamenu_font_family, $megamenu_font_weight );
}
}
/**
* Footer Menu
*/
$footer_menu_font_family = astra_get_option( 'footer-menu-font-family' );
$footer_menu_font_weight = astra_get_option( 'footer-menu-font-weight' );
Astra_Fonts::add_font( $footer_menu_font_family, $footer_menu_font_weight );
/**
* Mobile menu
*/
$submenu_font_family = astra_get_option( 'header-mobile-menu-sub-menu-font-family' );
$submenu_font_weight = astra_get_option( 'header-mobile-menu-sub-menu-font-weight' );
Astra_Fonts::add_font( $submenu_font_family, $submenu_font_weight );
/**
* Header - Language Switcher
*/
$header_lang_switcher_font_family = astra_get_option( 'font-family-section-hb-language-switcher' );
$header_lang_switcher_font_weight = astra_get_option( 'font-weight-section-hb-language-switcher' );
Astra_Fonts::add_font( $header_lang_switcher_font_family, $header_lang_switcher_font_weight );
/**
* Footer - Language Switcher
*/
$footer_lang_switcher_font_family = astra_get_option( 'font-family-section-fb-language-switcher' );
$footer_lang_switcher_font_weight = astra_get_option( 'font-weight-section-fb-language-switcher' );
Astra_Fonts::add_font( $footer_lang_switcher_font_family, $footer_lang_switcher_font_weight );
}
}
/**
* Set Options Default Values
*
* @param array $defaults Astra options default value array.
* @return array
*/
public function theme_defaults( $defaults ) {
// Header.
$defaults['font-family-site-title'] = 'inherit';
$defaults['font-weight-site-title'] = 'inherit';
$defaults['text-transform-site-title'] = '';
$defaults['line-height-site-title'] = '';
$defaults['font-family-site-tagline'] = 'inherit';
$defaults['font-weight-site-tagline'] = 'inherit';
$defaults['text-transform-site-tagline'] = '';
$defaults['line-height-site-tagline'] = '';
// Primary Menu.
$defaults['font-size-primary-menu'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['font-weight-primary-menu'] = 'inherit';
$defaults['font-family-primary-menu'] = 'inherit';
$defaults['text-transform-primary-menu'] = '';
$defaults['line-height-primary-menu'] = '';
// Primary Dropdown Menu.
$defaults['font-size-primary-dropdown-menu'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['font-family-primary-dropdown-menu'] = 'inherit';
$defaults['font-weight-primary-dropdown-menu'] = 'inherit';
$defaults['text-transform-primary-dropdown-menu'] = '';
$defaults['line-height-primary-dropdown-menu'] = '';
// Archive Summary Box.
$defaults['font-family-archive-summary-title'] = 'inherit';
$defaults['font-weight-archive-summary-title'] = 'inherit';
$defaults['text-transform-archive-summary-title'] = '';
$defaults['line-height-archive-summary-title'] = '';
// Archive.
$defaults['font-family-page-title'] = 'inherit';
$defaults['font-weight-page-title'] = 'inherit';
$defaults['text-transform-page-title'] = '';
$defaults['line-height-page-title'] = '';
$defaults['font-size-post-meta'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['font-family-post-meta'] = 'inherit';
$defaults['font-weight-post-meta'] = 'inherit';
$defaults['text-transform-post-meta'] = '';
$defaults['line-height-post-meta'] = '';
$defaults['font-size-post-pagination'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['text-transform-post-pagination'] = '';
// Single.
$defaults['font-family-entry-title'] = 'inherit';
$defaults['font-weight-entry-title'] = 'inherit';
$defaults['text-transform-entry-title'] = '';
$defaults['line-height-entry-title'] = '';
// Button.
$defaults['font-size-button'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['font-weight-button'] = 'inherit';
$defaults['font-family-button'] = 'inherit';
$defaults['text-transform-button'] = '';
// Sidebar.
$defaults['font-size-widget-title'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['font-family-widget-title'] = 'inherit';
$defaults['font-weight-widget-title'] = 'inherit';
$defaults['text-transform-widget-title'] = '';
$defaults['line-height-widget-title'] = '';
$defaults['font-size-widget-content'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['font-family-widget-content'] = 'inherit';
$defaults['font-weight-widget-content'] = 'inherit';
$defaults['text-transform-widget-content'] = '';
$defaults['line-height-widget-content'] = '';
// Footer.
$defaults['font-size-footer-content'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['font-family-footer-content'] = 'inherit';
$defaults['font-weight-footer-content'] = 'inherit';
$defaults['text-transform-footer-content'] = '';
$defaults['line-height-footer-content'] = '';
// Header <H1>.
$defaults['font-family-h1'] = 'inherit';
$defaults['font-weight-h1'] = 'inherit';
$defaults['text-transform-h1'] = '';
$defaults['line-height-h1'] = '';
// Header <H2>.
$defaults['font-family-h2'] = 'inherit';
$defaults['font-weight-h2'] = 'inherit';
$defaults['text-transform-h2'] = '';
$defaults['line-height-h2'] = '';
// Header <H3>.
$defaults['font-family-h3'] = 'inherit';
$defaults['font-weight-h3'] = 'inherit';
$defaults['text-transform-h3'] = '';
$defaults['line-height-h3'] = '';
if ( astra_addon_has_gcp_typo_preset_compatibility() ) {
// Header <H4>.
$defaults['font-family-h4'] = 'inherit';
$defaults['font-weight-h4'] = 'inherit';
$defaults['text-transform-h4'] = '';
$defaults['line-height-h4'] = '';
// Header <H5>.
$defaults['font-family-h5'] = 'inherit';
$defaults['font-weight-h5'] = 'inherit';
$defaults['text-transform-h5'] = '';
$defaults['line-height-h5'] = '';
// Header <H6>.
$defaults['font-family-h6'] = 'inherit';
$defaults['font-weight-h6'] = 'inherit';
$defaults['text-transform-h6'] = '';
$defaults['line-height-h6'] = '';
}
// Outside Menu Item.
$defaults['outside-menu-font-size'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['outside-menu-line-height'] = '';
$defaults['section-header-account-menu-font-size'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['section-header-account-popup-font-size'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['section-header-account-popup-button-font-size'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['font-size-section-hb-language-switcher'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['font-size-section-fb-language-switcher'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['font-family-section-hb-language-switcher'] = 'inherit';
$defaults['font-family-section-fb-language-switcher'] = 'inherit';
/**
* Footer > Social Icon Defaults.
*/
$num_of_footer_social_icons = astra_addon_builder_helper()->num_of_footer_social_icons;
for ( $index = 1; $index <= $num_of_footer_social_icons; $index++ ) {
$defaults[ 'font-family-section-fb-social-icons-' . $index ] = 'inherit';
$defaults[ 'font-weight-section-fb-social-icons-' . $index ] = 'inherit';
$defaults[ 'text-transform-section-fb-social-icons-' . $index ] = '';
$defaults[ 'line-height-section-fb-social-icons-' . $index ] = '';
}
/**
* Header > Social Icon Defaults.
*/
$component_limit = astra_addon_builder_helper()->component_limit;
for ( $index = 1; $index <= $component_limit; $index++ ) {
$defaults = $this->prepare_social_icons_defaults( $defaults, $index );
$defaults = $this->prepare_button_defaults( $defaults, $index );
}
return $defaults;
}
/**
* Prepare Button Defaults.
*
* @param array $defaults defaults.
* @param integer $index index.
* @return array
* @since 3.1.0
*/
public function prepare_button_defaults( $defaults, $index ) {
$defaults[ 'header-button' . $index . '-font-family' ] = 'inherit';
$defaults[ 'header-button' . $index . '-font-weight' ] = 'inherit';
$defaults[ 'header-button' . $index . '-text-transform' ] = '';
$defaults[ 'header-button' . $index . '-line-height' ] = '';
$defaults[ 'header-button' . $index . '-letter-spacing' ] = '';
$defaults[ 'footer-button' . $index . '-font-family' ] = 'inherit';
$defaults[ 'footer-button' . $index . '-font-weight' ] = 'inherit';
$defaults[ 'footer-button' . $index . '-text-transform' ] = '';
$defaults[ 'footer-button' . $index . '-line-height' ] = '';
$defaults[ 'footer-button' . $index . '-letter-spacing' ] = '';
return $defaults;
}
/**
* Prepare Social Icons Defaults.
*
* @param array $defaults defaults.
* @param integer $index index.
* @return array
* @since 3.1.0
*/
public function prepare_social_icons_defaults( $defaults, $index ) {
$defaults[ 'font-family-section-hb-social-icons-' . $index ] = 'inherit';
$defaults[ 'font-weight-section-hb-social-icons-' . $index ] = 'inherit';
$defaults[ 'text-transform-section-hb-social-icons-' . $index ] = '';
$defaults[ 'line-height-section-hb-social-icons-' . $index ] = '';
return $defaults;
}
/**
* Add postMessage support for site title and description for the Theme Customizer.
*
* @param WP_Customize_Manager $wp_customize Theme Customizer object.
*/
public function customize_register_new( $wp_customize ) {
/**
* Register Sections & Panels
*/
require_once ASTRA_EXT_TYPOGRAPHY_DIR . 'classes/class-astra-typo-panel-section-configs.php';
require_once ASTRA_EXT_TYPOGRAPHY_DIR . 'classes/sections/class-astra-archive-advanced-typo-configs.php';
require_once ASTRA_EXT_TYPOGRAPHY_DIR . 'classes/sections/class-astra-content-advanced-typo-configs.php';
require_once ASTRA_EXT_TYPOGRAPHY_DIR . 'classes/sections/class-astra-site-header-typo-configs.php';
if ( astra_addon_existing_header_footer_configs() ) {
require_once ASTRA_EXT_TYPOGRAPHY_DIR . 'classes/sections/class-astra-primary-menu-typo-configs.php';
require_once ASTRA_EXT_TYPOGRAPHY_DIR . 'classes/sections/class-astra-footer-typo-configs.php';
}
require_once ASTRA_EXT_TYPOGRAPHY_DIR . 'classes/sections/class-astra-sidebar-typo-configs.php';
require_once ASTRA_EXT_TYPOGRAPHY_DIR . 'classes/sections/class-astra-single-advanced-typo-configs.php';
require_once ASTRA_EXT_TYPOGRAPHY_DIR . 'classes/sections/class-astra-builder-menu-configs.php';
require_once ASTRA_EXT_TYPOGRAPHY_DIR . 'classes/sections/class-astra-header-builder-typo-configs.php';
}
/**
* Customizer Preview
*/
public function preview_scripts() {
if ( SCRIPT_DEBUG ) {
wp_enqueue_script( 'astra-ext-typography-customize-preview-js', ASTRA_EXT_TYPOGRAPHY_URI . 'assets/js/unminified/customizer-preview.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_EXT_VER, true );
} else {
wp_enqueue_script( 'astra-ext-typography-customize-preview-js', ASTRA_EXT_TYPOGRAPHY_URI . 'assets/js/minified/customizer-preview.min.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_EXT_VER, true );
}
$localize_array = array(
'includeAnchorsInHeadindsCss' => astra_addon_typography_anchors_in_css_selectors_heading(),
'addon_page_builder_button_style_css' => Astra_Addon_Update_Filter_Function::page_builder_addon_button_style_css(),
'component_limit' => astra_addon_builder_helper()->component_limit,
'is_flex_based_css' => Astra_Addon_Builder_Helper::apply_flex_based_css(),
'astra_not_updated' => version_compare( ASTRA_THEME_VERSION, '3.2.0', '<' ),
'font_weight_support_widget_title' => Astra_Addon_Update_Filter_Function::support_addon_font_css_to_widget_and_in_editor(),
);
wp_localize_script( 'astra-ext-typography-customize-preview-js', 'astTypography', $localize_array );
}
/**
* Button Font Family
*/
public function button_font_family() {
$font_family = str_replace( "'", '', astra_get_option( 'font-family-button' ) );
$font_family = explode( ',', $font_family );
return array(
'family' => $font_family[0],
'weight' => astra_get_option( 'font-weight-button' ),
);
}
/**
* Button Font Size
*/
public function button_font_size() {
$font_size = astra_get_option( 'font-size-button' );
$font_size_number = $font_size['desktop'];
$font_size_unit = $font_size['desktop-unit'];
return $font_size_number . $font_size_unit;
}
/**
* Button Text Transform
*/
public function button_text_transform() {
return astra_get_option( 'text-transform-button' );
}
/**
* Typography Param loads all the available Google fonts from the Json.
* The Google Fonts list is generated usig a Grunt Command so this list will keep on increasing in future.
*
* When Typography param and Query Monitor is active, Both of these cause a lot of memory consumption. Particularly `QM_Collector_Caps->filter_user_has_cap`
* Hence we are disaling this method only when inside the Customizer Preview. This is not affected anywhere else on the site, Front End or Admin.
*
* @since 1.1.0
*/
public function disale_qm_cap_checking() {
if ( class_exists( 'QM_Collector_Caps' ) && is_customize_preview() ) {
$qm_caps = QM_Collectors::get( 'caps' );
remove_filter( 'user_has_cap', array( $qm_caps, 'filter_user_has_cap' ), 9999, 3 );
}
}
}
Expand full source code Collapse full source code View on Trac
Methods
- __construct — Constructor
- add_fonts — Add Font Family Callback
- button_font_family — Button Font Family
- button_font_size — Button Font Size
- button_text_transform — Button Text Transform
- controls_scripts — Customizer Controls
- customize_register — Add postMessage support for site title and description for the Theme Customizer.
- customize_register_new — Add postMessage support for site title and description for the Theme Customizer.
- disale_qm_cap_checking — Typography Param loads all the available Google fonts from the Json.
- get_instance — Initiator
- prepare_button_defaults — Prepare Button Defaults.
- prepare_social_icons_defaults — Prepare Social Icons Defaults.
- preview_scripts — Customizer Preview
- theme_defaults — Set Options Default Values