Файловый менеджер - Редактировать - /home/ephorei/www/wp-includes/images/media/q2m9hb/compatibility.tar
Назад
class-astra-visual-composer.php 0000644 00000006626 15006151013 0012622 0 ustar 00 <?php /** * Visual Composer Compatibility File. * * @package Astra */ // If plugin - 'Visual Composer' not exist then return. if ( ! class_exists( 'Vc_Manager' ) ) { return; } /** * Astra Visual Composer Compatibility */ if ( ! class_exists( 'Astra_Visual_Composer' ) ) : /** * Astra Visual Composer Compatibility * * @since 1.0.0 */ class Astra_Visual_Composer { /** * 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_action( 'wp', array( $this, 'vc_default_setting' ), 20 ); add_action( 'do_meta_boxes', array( $this, 'vc_default_setting' ), 20 ); add_action( 'vc_frontend_editor_render', array( $this, 'vc_frontend_default_setting' ) ); add_filter( 'astra_theme_assets', array( $this, 'add_styles' ) ); } /** * VC Updated meta settings * * @since 1.0.13 * @param int $id Post id. * @return void */ public function vc_update_meta_setting( $id ) { if ( false === astra_enable_page_builder_compatibility() || 'post' == get_post_type() ) { return; } update_post_meta( $id, '_astra_content_layout_flag', 'disabled' ); update_post_meta( $id, 'site-post-title', 'disabled' ); update_post_meta( $id, 'ast-title-bar-display', 'disabled' ); update_post_meta( $id, 'ast-featured-img', 'disabled' ); $content_layout = get_post_meta( $id, 'site-content-layout', true ); if ( empty( $content_layout ) || 'default' == $content_layout ) { update_post_meta( $id, 'site-content-layout', 'plain-container' ); } $sidebar_layout = get_post_meta( $id, 'site-sidebar-layout', true ); if ( empty( $sidebar_layout ) || 'default' == $sidebar_layout ) { update_post_meta( $id, 'site-sidebar-layout', 'no-sidebar' ); } } /** * Set frontend default setting. * * @since 1.0.13 * @return void */ public function vc_frontend_default_setting() { global $post; $id = astra_get_post_id(); $page_builder_flag = get_post_meta( $id, '_astra_content_layout_flag', true ); if ( empty( $page_builder_flag ) ) { if ( $id > 0 && empty( $post->post_content ) ) { $this->vc_update_meta_setting( $id ); } } } /** * Set default setting. * * @since 1.0.13 * @return void */ public function vc_default_setting() { global $post; $id = astra_get_post_id(); $page_builder_flag = get_post_meta( $id, '_astra_content_layout_flag', true ); if ( isset( $post ) && empty( $page_builder_flag ) && ( is_admin() || is_singular() ) ) { $vc_active = get_post_meta( $id, '_wpb_vc_js_status', true ); if ( 'true' == $vc_active || has_shortcode( $post->post_content, 'vc_row' ) ) { $this->vc_update_meta_setting( $id ); } } } /** * Add assets in theme * * @param array $assets list of theme assets (JS & CSS). * @return array List of updated assets. * @since 3.5.0 */ public function add_styles( $assets ) { if ( ! empty( $assets['css'] ) ) { $assets['css'] = array( 'astra-vc-builder' => 'compatibility/page-builder/vc-plugin' ) + $assets['css']; } return $assets; } } endif; /** * Kicking this off by calling 'get_instance()' method */ Astra_Visual_Composer::get_instance(); surecart/customizer/class-astra-customizer-register-surecart-section.php 0000644 00000003771 15006151013 0023042 0 ustar 00 <?php /** * Register customizer panels & sections for SureCart CPT. * * @package Astra * @link https://wpastra.com/ * @since Astra 4.6.13 * @since 4.6.9 Changed to using Astra_Customizer API */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } if ( ! class_exists( 'Astra_Customizer_Register_Surecart_Section' ) ) { /** * Register SureCart CPT Customizer Configurations. */ class Astra_Customizer_Register_Surecart_Section extends Astra_Customizer_Config_Base { /** * Register Panels and Sections for Customizer. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 4.6.13 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $_configs = array( array( 'name' => 'ast-surecart', 'type' => 'section', 'priority' => 68, 'title' => __( 'SureCart', 'astra' ), ), ); $surecart_post_types = array( 'sc_product' => array( 'name' => 'section-posttype-sc_product', 'type' => 'section', 'section' => 'ast-surecart', 'title' => __( 'Products', 'astra' ), 'priority' => 69, ), 'sc_collection' => array( 'name' => 'section-posttype-sc_collection', 'type' => 'section', 'section' => 'ast-surecart', 'title' => __( 'Collections', 'astra' ), 'priority' => 70, ), 'sc_upsell' => array( 'name' => 'section-posttype-sc_upsell', 'type' => 'section', 'section' => 'ast-surecart', 'title' => __( 'Upsells', 'astra' ), 'priority' => 71, ), ); $configurations = array_merge( $configurations, $_configs, array_values( $surecart_post_types ) ); return $configurations; } } } new Astra_Customizer_Register_Surecart_Section(); surecart/class-astra-surecart.php 0000644 00000035503 15006151013 0013146 0 ustar 00 <?php /** * SureCart Compatibility File. * * @package Astra */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } if ( ! defined( 'SURECART_PLUGIN_FILE' ) ) { return; } /** * Astra SureCart Compatibility * * @since 4.4.0 */ class Astra_SureCart { /** * The post type slug. * * @var string */ public $post_type = 'sc_product'; /** * Shop Page ID. * * @var int */ public $shop_page_id = 0; /** * SureCart Shop Page Status. * * @var null|bool */ public $shop_page_status = null; /** * Constructor */ public function __construct() { $this->shop_page_id = absint( get_option( 'surecart_shop_page_id' ) ); add_action( 'astra_header_after', array( $this, 'astra_surecart_archive_page_banner_support' ) ); add_action( 'astra_entry_top', array( $this, 'revert_surecart_support' ) ); add_filter( 'astra_page_layout', array( $this, 'sc_shop_sidebar_layout' ) ); add_filter( 'astra_get_content_layout', array( $this, 'sc_shop_content_layout' ) ); add_action( 'wp', array( $this, 'remove_navigation_for_sc_product' ) ); // Boxed layout support. add_filter( 'astra_is_content_layout_boxed', array( $this, 'sc_shop_content_boxed_layout' ) ); add_filter( 'astra_is_sidebar_layout_boxed', array( $this, 'sc_shop_sidebar_boxed_layout' ) ); add_action( 'customize_register', array( $this, 'customize_register' ), 2 ); add_filter( 'astra_theme_defaults', array( $this, 'astra_surecart_default_options' ) ); add_filter( 'astra_archive_post_title', array( $this, 'customize_surecart_archive_title_area' ), 10, 2 ); add_filter( 'astra_single_post_title', array( $this, 'customize_surecart_single_title_area' ), 10, 2 ); add_action( 'admin_bar_menu', array( $this, 'customize_admin_bar' ), 999 ); } /** * Register Customizer sections and panel for SureCart. * * @since 4.6.13 * @param WP_Customize_Manager $wp_customize Theme Customizer object. */ public function customize_register( $wp_customize ) { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound /** * Register Sections & Panels */ require ASTRA_THEME_DIR . 'inc/compatibility/surecart/customizer/class-astra-customizer-register-surecart-section.php'; } /** * Check is SureCart Shop Page. * * @return bool True if SureCart Shop Page. * @since 4.4.0 */ public function astra_is_surecart_shop_page() { if ( ! is_customize_preview() && ! is_null( $this->shop_page_status ) ) { return $this->shop_page_status; } $this->shop_page_status = false; $supported_post_types = Astra_Posts_Structure_Loader::get_supported_post_types(); if ( ! in_array( $this->post_type, $supported_post_types ) ) { $this->shop_page_status = false; } if ( ! is_page() || ! $this->shop_page_id ) { $this->shop_page_status = false; } $page_id = absint( astra_get_post_id() ); if ( $page_id === $this->shop_page_id ) { $this->shop_page_status = true; } return $this->shop_page_status; } /** * SureCart Shop Sidebar Layout * * @param string $sidebar_layout Layout type. * @return string $sidebar_layout Layout type. * @since 4.4.0 */ public function sc_shop_sidebar_layout( $sidebar_layout ) { if ( $this->astra_is_surecart_shop_page() ) { $sc_shop_sidebar = astra_get_option( 'archive-' . $this->post_type . '-sidebar-layout', 'default' ); if ( 'default' !== $sc_shop_sidebar && ! empty( $sc_shop_sidebar ) ) { $sidebar_layout = $sc_shop_sidebar; } } return apply_filters( 'astra_get_surecart_shop_sidebar_layout', $sidebar_layout ); } /** * SureCart Shop Container * * @param string $content_layout Layout type. * @return string $content_layout Layout type. * @since 4.4.0 */ public function sc_shop_content_layout( $content_layout ) { if ( $this->astra_is_surecart_shop_page() ) { $sc_shop_layout = astra_toggle_layout( 'archive-' . $this->post_type . '-ast-content-layout', 'single', false ); if ( 'default' !== $sc_shop_layout && ! empty( $sc_shop_layout ) ) { $content_layout = $sc_shop_layout; } } return apply_filters( 'astra_get_store_content_layout', $content_layout ); } /** * SureCart Shop Container Style * * @param string $is_style_boxed Layout style. * @return string $is_style_boxed Layout style. * @since 4.4.0 */ public function sc_shop_content_boxed_layout( $is_style_boxed ) { if ( $this->astra_is_surecart_shop_page() ) { $sc_shop_layout_style = astra_get_option( 'archive-' . $this->post_type . '-content-style', 'default' ); if ( 'boxed' === $sc_shop_layout_style ) { $is_style_boxed = true; } } return apply_filters( 'astra_get_store_layout_style', $is_style_boxed ); } /** * SureCart Shop Sidebar Style * * @param string $is_style_boxed Layout style. * @return string $is_style_boxed Layout style. * @since 4.4.0 */ public function sc_shop_sidebar_boxed_layout( $is_style_boxed ) { if ( $this->astra_is_surecart_shop_page() ) { $sc_shop_layout_style = astra_get_option( 'archive-' . $this->post_type . '-sidebar-style', 'default' ); if ( 'boxed' === $sc_shop_layout_style ) { $is_style_boxed = true; } } return apply_filters( 'astra_get_store_sidebar_style', $is_style_boxed ); } /** * SureCart Archive Banner Support. * Making 'Shop Page' as archive of SureCart Products. * * @since 4.4.0 */ public function astra_surecart_archive_page_banner_support() { if ( false === $this->astra_is_surecart_shop_page() ) { return; } $page_id = absint( astra_get_post_id() ); $visibility = get_post_meta( $page_id, 'ast-banner-title-visibility', true ); $visibility = apply_filters( 'astra_banner_title_area_visibility', $visibility ); if ( 'disabled' === $visibility ) { $this->disable_page_loaded_banner_area(); return; } $banner_layout = astra_get_option( 'ast-dynamic-archive-sc_product-layout', 'layout-1' ); add_filter( 'astra_banner_elements_structure', array( $this, 'update_astra_banner_elements_structure' ) ); add_filter( 'astra_banner_elements_post_type', array( $this, 'update_astra_banner_elements_post_type' ) ); add_filter( 'astra_banner_elements_prefix', array( $this, 'update_astra_banner_elements_prefix' ) ); add_filter( 'the_title', array( $this, 'update_the_title' ), 10, 2 ); $title_area_enabled = astra_get_option( 'ast-archive-sc_product-title' ); if ( $title_area_enabled ) { if ( 'layout-2' === $banner_layout ) { $astra_banner_hook = apply_filters( 'astra_banner_hook', 'astra_content_before' ); add_action( $astra_banner_hook, array( $this, 'astra_surecart_hero_section' ), 20 ); } else { add_filter( 'astra_single_layout_one_banner_visibility', '__return_false' ); add_filter( 'astra_apply_hero_header_banner', '__return_false' ); add_action( 'astra_primary_content_top', array( $this, 'astra_force_render_banner_layout_1' ) ); } } } /** * Enable layout 1 for some cases. Ex. SureCart Product. * * @since 4.4.0 * @return void */ public function astra_force_render_banner_layout_1() { add_filter( 'astra_remove_entry_header_content', '__return_false' ); ?> <section class="ast-archive-description"> <?php do_action( 'astra_before_archive_title' ); astra_banner_elements_order(); ?> </section> <?php do_action( 'astra_after_archive_title' ); } /** * SureCart Hero Section. * * @since 4.4.0 */ public function astra_surecart_hero_section() { if ( false === apply_filters( 'astra_apply_hero_header_banner', true ) ) { return; } $args = array( 'post_type' => $this->post_type ); do_action( 'astra_before_archive_' . $this->post_type . '_banner_content' ); get_template_part( 'template-parts/archive', 'banner', $args ); do_action( 'astra_after_archive_' . $this->post_type . '_banner_content' ); $this->disable_page_loaded_banner_area(); } /** * SureCart Section banner element structure. * * @param array $structure Elements structure. * @since 4.4.0 */ public function update_astra_banner_elements_structure( $structure ) { return astra_get_option( 'ast-dynamic-archive-' . $this->post_type . '-structure', array( 'ast-dynamic-archive-' . $this->post_type . '-title', 'ast-dynamic-archive-' . $this->post_type . '-description' ) ); } /** * SureCart Section banner reference post type. * * @param string $post_type Post type. * @since 4.4.0 */ public function update_astra_banner_elements_post_type( $post_type ) { return $this->post_type; } /** * SureCart Section banner prefix. * * @param string $prefix Prefix. * @since 4.4.0 */ public function update_astra_banner_elements_prefix( $prefix ) { return 'archive'; } /** * Support custom title & description support for archive. * * @param string $title Default archive title. * @param int $post_id Post ID. * @since 4.4.0 * @return string */ public function update_the_title( $title, $post_id ) { if ( $this->shop_page_id !== $post_id ) { return $title; } $custom_title = astra_get_option( 'ast-dynamic-archive-' . $this->post_type . '-custom-title', '' ); $title = ! empty( $custom_title ) ? $custom_title : $title; return $title; } /** * Disable Astra's next page's banner as we already loaded. * * @since 4.4.0 */ public function disable_page_loaded_banner_area() { add_filter( 'astra_apply_hero_header_banner', '__return_false' ); add_filter( 'astra_remove_entry_header_content', '__return_true' ); add_filter( 'astra_single_layout_one_banner_visibility', '__return_false' ); } /** * Removed Astra's navigation markup from SureCart single product page. * * @since 4.8.2 */ public function remove_navigation_for_sc_product() { if ( is_singular( 'sc_product' ) ) { remove_action( 'astra_entry_after', 'astra_single_post_navigation_markup' ); } } /** * Revert SureCart Support, after banner loaded. * * @since 4.4.0 */ public function revert_surecart_support() { if ( false === $this->astra_is_surecart_shop_page() ) { return; } remove_filter( 'astra_is_content_layout_boxed', array( $this, 'sc_shop_content_boxed_layout' ) ); remove_filter( 'astra_is_sidebar_layout_boxed', array( $this, 'sc_shop_sidebar_boxed_layout' ) ); remove_filter( 'astra_banner_elements_structure', array( $this, 'update_astra_banner_elements_structure' ) ); remove_filter( 'astra_banner_elements_post_type', array( $this, 'update_astra_banner_elements_post_type' ) ); remove_filter( 'astra_banner_elements_prefix', array( $this, 'update_astra_banner_elements_prefix' ) ); remove_filter( 'the_title', array( $this, 'update_the_title' ), 10 ); } /** * Astra SureCart default options. * * @param array $defaults Array of Astra's options. * @return array Filtered options array. * * @since 4.7.3 */ public function astra_surecart_default_options( $defaults ) { $surecart_post_types = array( 'sc_product', 'sc_collection', 'sc_upsell' ); // Remove the default left and right padding to make it align properly. $surecart_banner_padding = Astra_Posts_Structure_Loader::get_customizer_default( 'responsive-padding' ); if ( isset( $surecart_banner_padding['desktop']['right'] ) ) { $surecart_banner_padding['desktop']['right'] = 0; } if ( isset( $surecart_banner_padding['desktop']['left'] ) ) { $surecart_banner_padding['desktop']['left'] = 0; } foreach ( $surecart_post_types as $post_type ) { $defaults['ast-archive-' . $post_type . '-title'] = false; $defaults['ast-single-' . $post_type . '-title'] = false; $defaults['single-' . $post_type . '-ast-content-layout'] = 'normal-width-container'; $defaults['single-' . $post_type . '-sidebar-layout'] = 'no-sidebar'; $defaults['ast-dynamic-archive-' . $post_type . '-banner-padding'] = $surecart_banner_padding; } return $defaults; } /** * Method to customize SureCart single title area. * * @param string $title Title Area label. * @param string $post_type Current post type. * @param boolean $singular Whether singular or plural. * * @since 4.7.3 * @return string Returns customized label for title area. */ public function customize_surecart_title_area( $title, $post_type, $singular = false ) { $surecart_titles = array( 'sc_product' => array( 'single' => __( 'Product', 'astra' ), 'archive' => __( 'Products', 'astra' ), ), 'sc_collection' => array( 'single' => __( 'Collection', 'astra' ), 'archive' => __( 'Collections', 'astra' ), ), 'sc_upsell' => array( 'single' => __( 'Upsell', 'astra' ), 'archive' => __( 'Upsells', 'astra' ), ), ); $type = $singular ? 'single' : 'archive'; // Check for SureCart's post types and customize the title. if ( isset( $surecart_titles[ $post_type ][ $type ] ) ) { $title_area_suffix = ' ' . __( 'Title Area', 'astra' ); return $surecart_titles[ $post_type ][ $type ] . $title_area_suffix; } return $title; } /** * Method to customize SureCart archive title area. * * @param string $title Title Area label. * @param string $post_type Current post type. * * @since 4.7.3 * @return string Returns customized label for archive title area. */ public function customize_surecart_archive_title_area( $title, $post_type ) { return $this->customize_surecart_title_area( $title, $post_type ); } /** * Method to customize SureCart single title area. * * @param string $title Title Area label. * @param string $post_type Current post type. * * @since 4.7.3 * @return string Returns customized label for single title area. */ public function customize_surecart_single_title_area( $title, $post_type ) { return $this->customize_surecart_title_area( $title, $post_type, true ); } /** * Method to add autoFocus query parameter to customize link. * * @param WP_Admin_Bar $wp_admin_bar The WP_Admin_Bar instance. * * @since 4.7.3 * @return void */ public function customize_admin_bar( $wp_admin_bar ) { if ( is_admin() || ! is_admin_bar_showing() ) { return; } // Show only when the user is a member of this site, or they're a super admin. if ( ! is_user_member_of_blog() && ! is_super_admin() ) { return; } // Get the customize node by ID. $node = $wp_admin_bar->get_node( 'customize' ); if ( $node ) { $post_type = get_post_type(); $page = is_singular() ? 'single' : 'archive'; // If the current page is SureCart shop page. if ( 'page' === $post_type && get_the_ID() == get_option( 'surecart_shop_page_id' ) ) { $page = 'archive'; $post_type = 'sc_product'; } // Check for surecart post type. if ( in_array( $post_type, array( 'sc_product', 'sc_collection', 'sc_upsell' ) ) ) { // Add custom parameter to the URL. $node->href = add_query_arg( 'autofocus[section]', "{$page}-posttype-{$post_type}", $node->href ); // Update the node with the modified URL. $wp_admin_bar->add_node( (array) $node ); } } } } /** * Kicking this off by object. * * @since 4.4.0 */ new Astra_SureCart(); class-astra-starter-content.php 0000644 00000014635 15006151013 0012625 0 ustar 00 <?php /** * Starter Content Compatibility. * * @since 4.0.0 * @package Astra */ /** * Class Astre_Starter_Content */ class Astra_Starter_Content { const HOME_SLUG = 'home'; const ABOUT_SLUG = '#about'; const SERVICES_SLUG = '#services'; const REVIEWS_SLUG = '#reviews'; const WHY_US_SLUG = '#whyus'; const CONTACT_SLUG = '#contact'; /** * Constructor */ public function __construct() { $is_fresh_site = get_option( 'fresh_site' ); if ( ! $is_fresh_site ) { return; } // Adding post meta and inserting post. add_action( 'wp_insert_post', array( $this, 'register_listener', ), 3, 99 ); // Save astra settings into database. add_action( 'customize_save_after', array( $this, 'save_astra_settings', ), 10, 3 ); if ( ! is_customize_preview() ) { return; } // preview customizer values. add_filter( 'default_post_metadata', array( $this, 'starter_meta' ), 99, 3 ); add_filter( 'astra_theme_defaults', array( $this, 'theme_defaults' ) ); add_filter( 'astra_global_color_palette', array( $this, 'theme_color_palettes_defaults' ) ); } /** * Load default starter meta. * * @since 4.0.2 * @param mixed $value Value. * @param int $post_id Post id. * @param string $meta_key Meta key. * * @return string Meta value. */ public function starter_meta( $value, $post_id, $meta_key ) { if ( get_post_type( $post_id ) !== 'page' ) { return $value; } if ( 'site-content-layout' === $meta_key ) { return 'plain-container'; } if ( 'theme-transparent-header-meta' === $meta_key ) { return 'enabled'; } if ( 'site-sidebar-layout' === $meta_key ) { return 'no-sidebar'; } if ( 'site-post-title' === $meta_key ) { return 'disabled'; } return $value; } /** * Register listener to insert post. * * @since 4.0.0 * @param int $post_ID Post Id. * @param \WP_Post $post Post object. * @param bool $update Is update. */ public function register_listener( $post_ID, $post, $update ) { if ( $update ) { return; } $custom_draft_post_name = get_post_meta( $post_ID, '_customize_draft_post_name', true ); $is_from_starter_content = ! empty( $custom_draft_post_name ); if ( ! $is_from_starter_content ) { return; } if ( 'page' === $post->post_type ) { update_post_meta( $post_ID, 'site-content-layout', 'plain-container' ); update_post_meta( $post_ID, 'theme-transparent-header-meta', 'enabled' ); update_post_meta( $post_ID, 'site-sidebar-layout', 'no-sidebar' ); update_post_meta( $post_ID, 'site-post-title', 'disabled' ); } } /** * Get customizer json * * @since 4.0.0 * @return mixed value. */ public function get_customizer_json() { try { $request = wp_remote_get( ASTRA_THEME_URI . 'inc/compatibility/starter-content/astra-settings-export.json' ); } catch ( Exception $ex ) { $request = null; } if ( is_wp_error( $request ) ) { return false; // Bail early. } // @codingStandardsIgnoreStart /** * @psalm-suppress PossiblyNullReference * @psalm-suppress UndefinedMethod * @psalm-suppress PossiblyNullArrayAccess * @psalm-suppress PossiblyNullArgument * @psalm-suppress InvalidScalarArgument */ return json_decode( $request['body'], 1 ); // @codingStandardsIgnoreEnd } /** * Save Astra customizer settings into database. * * @since 4.0.0 */ public function save_astra_settings() { $settings = self::get_customizer_json(); // Delete existing dynamic CSS cache. delete_option( 'astra-settings' ); if ( ! empty( $settings['customizer-settings'] ) ) { foreach ( $settings['customizer-settings'] as $option => $value ) { update_option( $option, $value ); } } } /** * Load default astra settings. * * @since 4.0.0 * @param mixed $defaults defaults. * @return mixed value. */ public function theme_defaults( $defaults ) { $json = ''; $settings = self::get_customizer_json(); if ( ! empty( $settings['customizer-settings'] ) ) { $json = $settings['customizer-settings']['astra-settings']; } return $json ? $json : $defaults; } /** * Load default color palettes. * * @since 4.0.0 * @param mixed $defaults defaults. * @return mixed value. */ public function theme_color_palettes_defaults( $defaults ) { $json = ''; $settings = self::get_customizer_json(); if ( ! empty( $settings['customizer-settings'] ) ) { $json = $settings['customizer-settings']['astra-color-palettes']; } return $json ? $json : $defaults; } /** * Return starter content definition. * * @return mixed|void * @since 4.0.0 */ public function get() { $nav_items_header = array( 'home' => array( 'type' => 'post_type', 'object' => 'page', 'object_id' => '{{' . self::HOME_SLUG . '}}', ), 'about' => array( 'title' => __( 'Services', 'astra' ), 'type' => 'custom', 'url' => '{{' . self::SERVICES_SLUG . '}}', ), 'services' => array( 'title' => __( 'About', 'astra' ), 'type' => 'custom', 'url' => '{{' . self::ABOUT_SLUG . '}}', ), 'reviews' => array( 'title' => __( 'Reviews', 'astra' ), 'type' => 'custom', 'url' => '{{' . self::REVIEWS_SLUG . '}}', ), 'faq' => array( 'title' => __( 'Why Us', 'astra' ), 'type' => 'custom', 'url' => '{{' . self::WHY_US_SLUG . '}}', ), 'contact' => array( 'title' => __( 'Contact', 'astra' ), 'type' => 'custom', 'url' => '{{' . self::CONTACT_SLUG . '}}', ), ); $content = array( 'attachments' => array( 'logo' => array( 'post_title' => _x( 'Logo', 'Theme starter content', 'astra' ), 'file' => 'inc/assets/images/starter-content/logo.png', ), ), 'theme_mods' => array( 'custom_logo' => '{{logo}}', ), 'nav_menus' => array( 'primary' => array( 'name' => esc_html__( 'Primary', 'astra' ), 'items' => $nav_items_header, ), 'mobile_menu' => array( 'name' => esc_html__( 'Primary', 'astra' ), 'items' => $nav_items_header, ), ), 'options' => array( 'page_on_front' => '{{' . self::HOME_SLUG . '}}', 'show_on_front' => 'page', ), 'posts' => array( self::HOME_SLUG => require ASTRA_THEME_DIR . 'inc/compatibility/starter-content/home.php', // PHPCS:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound ), ); return apply_filters( 'astra_starter_content', $content ); } } class-astra-ubermeu.php 0000644 00000003430 15006151013 0011124 0 ustar 00 <?php /** * Ubermenu Compatibility File. * * @link https://Ubermenu.me/ * @since 1.1.7 * * @package Astra */ // If plugin - 'Ubermenu' not exist then return. if ( ! class_exists( 'UberMenu' ) ) { return; } /** * Astra Ubermenu Compatibility */ if ( ! class_exists( 'Astra_Ubermeu' ) ) : /** * Astra Ubermenu Compatibility * * @since 1.0.0 */ class Astra_Ubermeu { /** * Member Variable * * @var object instance */ private static $instance; /** * Initiator * * @since 1.1.7 */ public static function get_instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor * * @since 1.1.7 */ public function __construct() { add_filter( 'astra_enable_mobile_menu_buttons', array( $this, 'disable_primary_menu_toggle' ), 30 ); } /** * Disable the Mobile Menu toggles from Astra if Uber Menu is used. * * @since 1.1.7 * @param bool $status Status if the mobile menu toggels are enaled or disaled. * @return bool False If ubermenu is configured on this location. Unchanged if it is not configured. */ public function disable_primary_menu_toggle( $status ) { // Don't overrde anythign if ubermenu's function is not present. if ( ! function_exists( 'ubermenu_get_menu_instance_by_theme_location' ) ) { return $status; } $ubermenu_auto_config = ubermenu_get_menu_instance_by_theme_location( 'primary' ); // If ubermenu's auto configuration is not used here, don't override the filter. if ( '' === $ubermenu_auto_config || false === $ubermenu_auto_config ) { return $status; } return false; } } endif; /** * Kicking this off by calling 'get_instance()' method */ Astra_Ubermeu::get_instance(); class-astra-elementor-pro.php 0000644 00000044133 15006151013 0012255 0 ustar 00 <?php /** * Elementor Compatibility File. * * @package Astra */ namespace Elementor; // phpcs:ignore PHPCompatibility.Keywords.NewKeywords.t_namespaceFound, WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedNamespaceFound // If plugin - 'Elementor' not exist then return. if ( ! class_exists( '\Elementor\Plugin' ) || ! class_exists( 'ElementorPro\Modules\ThemeBuilder\Module' ) ) { return; } namespace ElementorPro\Modules\ThemeBuilder\ThemeSupport; // phpcs:ignore PHPCompatibility.Keywords.NewKeywords.t_namespaceFound, PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound, WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedNamespaceFound // @codingStandardsIgnoreStart PHPCompatibility.Keywords.NewKeywords.t_useFound use Elementor\TemplateLibrary\Source_Local; use ElementorPro\Modules\ThemeBuilder\Classes\Locations_Manager; use ElementorPro\Modules\ThemeBuilder\Module; // @codingStandardsIgnoreEnd PHPCompatibility.Keywords.NewKeywords.t_useFound if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Astra Elementor Compatibility */ if ( ! class_exists( 'Astra_Elementor_Pro' ) ) : /** * Astra Elementor Compatibility * * @since 1.2.7 */ class Astra_Elementor_Pro { /** * Member Variable * * @var object instance */ private static $instance; /** * Initiator * * @since 1.2.7 * @return object Class object. */ public static function get_instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor * * @since 1.2.7 */ public function __construct() { // Add locations. add_action( 'elementor/theme/register_locations', array( $this, 'register_locations' ) ); // Override theme templates. add_action( 'astra_header', array( $this, 'do_header' ), 0 ); add_action( 'astra_footer', array( $this, 'do_footer' ), 0 ); add_action( 'astra_template_parts_content_top', array( $this, 'do_template_parts' ), 0 ); add_action( 'astra_entry_content_404_page', array( $this, 'do_template_part_404' ), 0 ); add_filter( 'post_class', array( $this, 'render_post_class' ), 99 ); // Override post meta. add_action( 'wp', array( $this, 'override_meta' ), 0 ); /** * Compatibility for Elementor Pro's upcoming WooCommerce widget. * * @since 3.7.5 */ add_filter( 'astra_theme_woocommerce_dynamic_css', array( $this, 'elementor_wc_widgets_compatibility_styles' ) ); if ( $this->is_elementor_editor() && class_exists( 'WooCommerce' ) && astra_check_elementor_pro_3_5_version() ) { add_action( 'init', array( $this, 'update_woocommerce_checkout' ) ); } add_filter( 'astra_shop_add_to_cart_js_localize', array( $this, 'astra_shop_add_to_cart_js_localize' ), 10, 1 ); } /** * Append Elementor preview status. * * @param Array $localize_data * * @since 4.1.6 * @return Array */ public function astra_shop_add_to_cart_js_localize( $localize_data ) { $elementor_preview_active = false; if ( class_exists( 'Elementor\Plugin' ) ) { $elementor_preview_active = \Elementor\Plugin::$instance->preview->is_preview_mode(); } $localize_data['elementor_preview_active'] = $elementor_preview_active; return $localize_data; } /** * Check if Elementor Editor is open. * * @since 3.8.0 * * @return boolean true iF Elementor Editor is loaded, false If Elementor Editor is not loaded. */ public function is_elementor_editor() { if ( ( isset( $_REQUEST['action'] ) && 'elementor' == $_REQUEST['action'] ) || isset( $_REQUEST['elementor-preview'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended return true; } return false; } /** * Remove actions of WooCommerce for shipping form fields, as it needs only in 'col-1'. * * Case: Theme's 'woocommerce_checkout' action conflicting with Elementor Pro's checkout widget. On frontend billing + shipping details wrapper comes under col-1 div because of theme's above action. But in Elementor editor, billing + shipping wrappers comes in two different cols, i.e. col-1 & col-2. Due to this, styling looks inappropriate in editor only. * * @since 3.8.0 * @return void */ public function update_woocommerce_checkout() { if ( ! apply_filters( 'astra_woo_shop_product_structure_override', false ) ) { add_action( 'woocommerce_checkout_billing', array( WC()->checkout(), 'checkout_form_shipping' ) ); } remove_action( 'woocommerce_checkout_shipping', array( WC()->checkout(), 'checkout_form_shipping' ) ); } /** * Compatibility CSS for Elementor Pro's WooCommerce widgets releasing in their v3.6.0 * * @param string $css_output CSS stylesheet. * @return string $css_output CSS stylesheet. * * @since 3.7.5 */ public function elementor_wc_widgets_compatibility_styles( $css_output ) { if ( ! astra_check_elementor_pro_3_5_version() ) { return $css_output; } $woo_widgets_desktop_css = array( '.woocommerce.woocommerce-checkout .elementor-widget-woocommerce-checkout-page #customer_details.col2-set, .woocommerce-page.woocommerce-checkout .elementor-widget-woocommerce-checkout-page #customer_details.col2-set' => array( 'width' => '100%', ), '.woocommerce.woocommerce-checkout .elementor-widget-woocommerce-checkout-page #order_review, .woocommerce.woocommerce-checkout .elementor-widget-woocommerce-checkout-page #order_review_heading, .woocommerce-page.woocommerce-checkout .elementor-widget-woocommerce-checkout-page #order_review, .woocommerce-page.woocommerce-checkout .elementor-widget-woocommerce-checkout-page #order_review_heading' => array( 'width' => '100%', 'float' => 'inherit', ), '.elementor-widget-woocommerce-checkout-page .select2-container .select2-selection--single, .elementor-widget-woocommerce-cart .select2-container .select2-selection--single' => array( 'padding' => '0', ), '.elementor-widget-woocommerce-checkout-page .woocommerce form .woocommerce-additional-fields, .elementor-widget-woocommerce-checkout-page .woocommerce form .shipping_address, .elementor-widget-woocommerce-my-account .woocommerce-MyAccount-navigation-link, .elementor-widget-woocommerce-cart .woocommerce a.remove' => array( 'border' => 'none', ), '.elementor-widget-woocommerce-cart .cart-collaterals .cart_totals > h2' => array( 'background-color' => 'inherit', 'border-bottom' => '0px', 'margin' => '0px', ), '.elementor-widget-woocommerce-cart .cart-collaterals .cart_totals' => array( 'padding' => '0', 'border-color' => 'inherit', 'border-radius' => '0', 'margin-bottom' => '0px', 'border-width' => '0px', ), '.elementor-widget-woocommerce-cart .woocommerce-cart-form .e-apply-coupon' => array( 'line-height' => 'initial', ), '.elementor-widget-woocommerce-my-account .woocommerce-MyAccount-content .woocommerce-Address-title h3' => array( 'margin-bottom' => 'var(--myaccount-section-title-spacing, 0px)', ), '.elementor-widget-woocommerce-my-account .woocommerce-Addresses .woocommerce-Address-title, .elementor-widget-woocommerce-my-account table.shop_table thead, .elementor-widget-woocommerce-my-account .woocommerce-page table.shop_table thead, .elementor-widget-woocommerce-cart table.shop_table thead' => array( 'background' => 'inherit', ), '.elementor-widget-woocommerce-cart .e-apply-coupon, .elementor-widget-woocommerce-cart #coupon_code, .elementor-widget-woocommerce-checkout-page .e-apply-coupon, .elementor-widget-woocommerce-checkout-page #coupon_code' => array( 'height' => '100%', ), '.elementor-widget-woocommerce-cart td.product-name dl.variation dt' => array( 'font-weight' => 'inherit', ), '.elementor-element.elementor-widget-woocommerce-checkout-page .e-checkout__container #customer_details .col-1' => array( 'margin-bottom' => '0', ), ); $css_output .= astra_parse_css( $woo_widgets_desktop_css ); return $css_output; } /** * Register Locations * * @since 1.2.7 * @param object $manager Location manager. * @return void */ public function register_locations( $manager ) { $manager->register_all_core_location(); } /** * Template Parts Support * * @since 1.2.7 * @return void */ public function do_template_parts() { // Is Archive? $did_location = Module::instance()->get_locations_manager()->do_location( 'archive' ); if ( $did_location ) { // Search and default. remove_action( 'astra_template_parts_content', array( \Astra_Loop::get_instance(), 'template_parts_search' ) );// phpcs:ignore PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound remove_action( 'astra_template_parts_content', array( \Astra_Loop::get_instance(), 'template_parts_default' ) );// phpcs:ignore PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound // Remove pagination. remove_action( 'astra_pagination', 'astra_number_pagination' ); remove_action( 'astra_entry_after', 'astra_single_post_navigation_markup' ); // Content. remove_action( 'astra_entry_content_single', 'astra_entry_content_single_template' ); } // IS Single? $did_location = Module::instance()->get_locations_manager()->do_location( 'single' ); if ( $did_location ) { // @codingStandardsIgnoreStart PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound remove_action( 'astra_page_template_parts_content', array( \Astra_Loop::get_instance(), 'template_parts_page' ) ); remove_action( 'astra_template_parts_content', array( \Astra_Loop::get_instance(), 'template_parts_post' ) ); remove_action( 'astra_template_parts_content', array( \Astra_Loop::get_instance(), 'template_parts_comments' ), 15 ); remove_action( 'astra_page_template_parts_content', array( \Astra_Loop::get_instance(), 'template_parts_comments' ), 15 ); // @codingStandardsIgnoreEnd PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound } } /** * Override 404 page * * @since 1.2.7 * @return void */ public function do_template_part_404() { if ( is_404() ) { // Is Single? $did_location = Module::instance()->get_locations_manager()->do_location( 'single' ); if ( $did_location ) { remove_action( 'astra_entry_content_404_page', 'astra_entry_content_404_page_template' ); } } } /** * Override sidebar, title etc with post meta * * @since 1.2.7 * @return void */ public function override_meta() { // don't override meta for `elementor_library` post type. if ( 'elementor_library' == get_post_type() ) { return; } // Override post meta for single pages. $documents_single = Module::instance()->get_conditions_manager()->get_documents_for_location( 'single' ); if ( $documents_single ) { foreach ( $documents_single as $document ) { $this->override_with_post_meta( $document->get_post()->ID ); } } // Override post meta for archive pages. $documents_archive = Module::instance()->get_conditions_manager()->get_documents_for_location( 'archive' ); if ( $documents_archive ) { foreach ( $documents_archive as $document ) { $this->override_with_post_meta( $document->get_post()->ID ); } } } /** * Override sidebar, title etc with post meta * * @since 1.2.7 * @param integer $post_id Post ID. * @return void */ public function override_with_post_meta( $post_id = 0 ) { // Override! Page Title. $title = get_post_meta( $post_id, 'site-post-title', true ); if ( 'disabled' === $title ) { // Archive page. add_filter( 'astra_the_title_enabled', '__return_false', 99 ); // Single page. add_filter( 'astra_the_title_enabled', '__return_false' ); remove_action( 'astra_archive_header', 'astra_archive_page_info' ); } // Override! Sidebar. $sidebar = get_post_meta( $post_id, 'site-sidebar-layout', true ); if ( '' === $sidebar ) { $sidebar = 'default'; } // @codingStandardsIgnoreStart PHPCompatibility.FunctionDeclarations.NewClosure.Found if ( 'default' !== $sidebar ) { add_filter( 'astra_page_layout', function( $page_layout ) use ( $sidebar ) { return $sidebar; } ); } // Override! Content Layout. $content_layout = get_post_meta( $post_id, 'site-content-layout', true ); if ( '' === $content_layout ) { $content_layout = 'default'; } if ( 'default' !== $content_layout ) { add_filter( 'astra_get_content_layout', function( $layout ) use ( $content_layout ) { return $content_layout; } ); } // Override! Footer Bar. $footer_layout = get_post_meta( $post_id, 'footer-sml-layout', true ); if ( '' === $footer_layout ) { $footer_layout = 'default'; } if ( 'disabled' === $footer_layout ) { add_filter( 'astra_footer_sml_layout', function( $is_footer ) { return 'disabled'; } ); } // Override! Footer Widgets. $footer_widgets = get_post_meta( $post_id, 'footer-adv-display', true ); if ( '' === $footer_widgets ) { $footer_widgets = 'default'; } if ( 'disabled' === $footer_widgets ) { add_filter( 'astra_advanced_footer_disable', function() { return true; } ); } // Override! Header. $main_header_display = get_post_meta( $post_id, 'ast-main-header-display', true ); if ( '' === $main_header_display ) { $main_header_display = 'default'; } if ( 'disabled' === $main_header_display ) { remove_action( 'astra_masthead', 'astra_masthead_primary_template' ); add_filter( 'astra_main_header_display', function( $display_header ) { return 'disabled'; } ); } // @codingStandardsIgnoreEnd PHPCompatibility.FunctionDeclarations.NewClosure.Found } /** * Header Support * * @since 1.2.7 * @return void */ public function do_header() { $did_location = Module::instance()->get_locations_manager()->do_location( 'header' ); if ( $did_location ) { remove_action( 'astra_header', 'astra_header_markup' ); if ( true === \Astra_Builder_Helper::$is_header_footer_builder_active ) { // phpcs:ignore PHPCompatibility.Keywords.NewKeywords.t_namespaceFound, PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound remove_action( 'astra_header', array( \Astra_Builder_Header::get_instance(), 'header_builder_markup' ) ); // phpcs:ignore PHPCompatibility.Keywords.NewKeywords.t_namespaceFound, PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound } } } /** * Footer Support * * @since 1.2.7 * @return void */ public function do_footer() { $did_location = Module::instance()->get_locations_manager()->do_location( 'footer' ); if ( $did_location ) { remove_action( 'astra_footer', 'astra_footer_markup' ); if ( true === \Astra_Builder_Helper::$is_header_footer_builder_active ) { // phpcs:ignore PHPCompatibility.Keywords.NewKeywords.t_namespaceFound, PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound remove_action( 'astra_footer', array( \Astra_Builder_Footer::get_instance(), 'footer_markup' ) ); // phpcs:ignore PHPCompatibility.Keywords.NewKeywords.t_namespaceFound, PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound } } } /** * Remove theme post's default classes when Elementor's template builder is activated. * * @param array $classes Post Classes. * @return array * @since 1.4.9 */ public function render_post_class( $classes ) { $post_class = array( 'elementor-post elementor-grid-item', 'elementor-portfolio-item' ); $result = array_intersect( $classes, $post_class ); if ( count( $result ) > 0 ) { $classes = array_diff( $classes, array( // Astra common grid. 'ast-col-xs-1', 'ast-col-xs-2', 'ast-col-xs-3', 'ast-col-xs-4', 'ast-col-xs-5', 'ast-col-xs-6', 'ast-col-xs-7', 'ast-col-xs-8', 'ast-col-xs-9', 'ast-col-xs-10', 'ast-col-xs-11', 'ast-col-xs-12', 'ast-col-sm-1', 'ast-col-sm-2', 'ast-col-sm-3', 'ast-col-sm-4', 'ast-col-sm-5', 'ast-col-sm-6', 'ast-col-sm-7', 'ast-col-sm-8', 'ast-col-sm-9', 'ast-col-sm-10', 'ast-col-sm-11', 'ast-col-sm-12', 'ast-col-md-1', 'ast-col-md-2', 'ast-col-md-3', 'ast-col-md-4', 'ast-col-md-5', 'ast-col-md-6', 'ast-col-md-7', 'ast-col-md-8', 'ast-col-md-9', 'ast-col-md-10', 'ast-col-md-11', 'ast-col-md-12', 'ast-col-lg-1', 'ast-col-lg-2', 'ast-col-lg-3', 'ast-col-lg-4', 'ast-col-lg-5', 'ast-col-lg-6', 'ast-col-lg-7', 'ast-col-lg-8', 'ast-col-lg-9', 'ast-col-lg-10', 'ast-col-lg-11', 'ast-col-lg-12', 'ast-col-xl-1', 'ast-col-xl-2', 'ast-col-xl-3', 'ast-col-xl-4', 'ast-col-xl-5', 'ast-col-xl-6', 'ast-col-xl-7', 'ast-col-xl-8', 'ast-col-xl-9', 'ast-col-xl-10', 'ast-col-xl-11', 'ast-col-xl-12', // Astra Blog / Single Post. 'ast-article-post', 'ast-article-single', 'ast-separate-posts', 'remove-featured-img-padding', 'ast-featured-post', // Astra Woocommerce. 'ast-product-gallery-layout-vertical', 'ast-product-gallery-layout-horizontal', 'ast-product-gallery-with-no-image', 'ast-product-tabs-layout-vertical', 'ast-product-tabs-layout-horizontal', 'ast-qv-disabled', 'ast-qv-on-image', 'ast-qv-on-image-click', 'ast-qv-after-summary', 'astra-woo-hover-swap', 'box-shadow-0', 'box-shadow-0-hover', 'box-shadow-1', 'box-shadow-1-hover', 'box-shadow-2', 'box-shadow-2-hover', 'box-shadow-3', 'box-shadow-3-hover', 'box-shadow-4', 'box-shadow-4-hover', 'box-shadow-5', 'box-shadow-5-hover', ) ); } return $classes; } } /** * Kicking this off by calling 'get_instance()' method */ Astra_Elementor_Pro::get_instance(); endif; class-astra-gutenberg.php 0000644 00000014477 15006151013 0011457 0 ustar 00 <?php /** * Gutenberg Compatibility File. * * @since 3.7.1 * @package Astra */ /** * Astra Gutenberg Compatibility * * @since 3.7.1 */ class Astra_Gutenberg { /** * Constructor */ public function __construct() { if ( ! astra_block_based_legacy_setup() ) { add_action( 'wp', array( $this, 'is_layout_with_blocks' ), 1 ); } else { add_filter( 'render_block', array( $this, 'restore_group_inner_container' ), 10, 2 ); } add_filter( 'render_block_core/group', array( $this, 'add_inherit_width_group_class' ), 10, 2 ); add_filter( 'render_block', array( $this, 'add_iframe_wrapper' ), 10, 2 ); } /** * Check if blocks has been used on the layout. Adding it for making moder compatibility CSS target specific. * * @since 3.8.0 * @return void */ public function is_layout_with_blocks() { // @codingStandardsIgnoreStart $post_id = astra_get_post_id(); /** @psalm-suppress RedundantConditionGivenDocblockType */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( $post_id ) { /** @psalm-suppress RedundantConditionGivenDocblockType */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $current_post = get_post( absint( $post_id ) ); /** @psalm-suppress TooManyArguments */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $enable_block_editor_attr = apply_filters( 'astra_disable_block_content_attr', true, $post_id ); /** @psalm-suppress TooManyArguments */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress PossiblyInvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( has_blocks( $current_post ) && $enable_block_editor_attr ) { /** @psalm-suppress PossiblyInvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort add_filter( 'astra_attr_article-entry-content-single-layout', array( $this, 'add_ast_block_container' ) ); add_filter( 'astra_attr_article-entry-content', array( $this, 'add_ast_block_container' ) ); add_filter( 'astra_attr_article-entry-content-page', array( $this, 'add_ast_block_container' ) ); } } // @codingStandardsIgnoreEnd } /** * Update Schema markup attribute. * * @param array $attr An array of attributes. * * @return array Updated embed markup. */ public function add_ast_block_container( $attr ) { $attr['data-ast-blocks-layout'] = 'true'; return $attr; } /** * Add Group block inner container when theme.json is added * to avoid the group block width from changing to full width. * * @since 3.7.1 * * @param string $block_content Rendered block content. * @param array $block Block object. * * @return string Filtered block content. */ public function restore_group_inner_container( $block_content, $block ) { $group_with_inner_container_regex = '/(^\s*<div\b[^>]*wp-block-group(\s|")[^>]*>)(\s*<div\b[^>]*wp-block-group__inner-container(\s|")[^>]*>)((.|\S|\s)*)/'; if ( ( isset( $block['blockName'] ) && 'core/group' !== $block['blockName'] ) || 1 === preg_match( $group_with_inner_container_regex, $block_content ) ) { return $block_content; } /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( ( isset( $block['blockName'] ) && 'core/group' === $block['blockName'] ) && ! empty( $block['attrs'] ) && isset( $block['attrs']['layout'] ) && isset( $block['attrs']['layout']['type'] ) && 'flex' === $block['attrs']['layout']['type'] ) { return $block_content; } $replace_regex = '/(^\s*<div\b[^>]*wp-block-group[^>]*>)(.*)(<\/div>\s*$)/ms'; $updated_content = preg_replace_callback( $replace_regex, array( $this, 'group_block_replace_regex' ), $block_content ); return $updated_content; } /** * Add Group block custom class when "Inherit default layout" toggle enabled. * * @since 3.8.3 * * @param string $block_content Rendered block content. * @param array $block Block object. * * @return string Filtered block content. */ public function add_inherit_width_group_class( $block_content, $block ) { if ( isset( $block['blockName'] ) && isset( $block['attrs']['layout']['inherit'] ) && $block['attrs']['layout']['inherit'] ) { $block_content = preg_replace( '/' . preg_quote( 'class="', '/' ) . '/', 'class="inherit-container-width ', $block_content, 1 ); } return $block_content; } /** * Update the block content with inner div. * * @since 3.7.1 * * @param mixed $matches block content. * * @return string New block content. */ public function group_block_replace_regex( $matches ) { return $matches[1] . '<div class="wp-block-group__inner-container">' . $matches[2] . '</div>' . $matches[3]; } /** * Add iframe wrapper for videos. * * @since 4.4.0 * * @param string $block_content Rendered block content. * @param array $block Block object. * * @return string Filtered block content. */ public function add_iframe_wrapper( $block_content, $block ) { $yt_wrapper_with_inner_iframe_regex = '/(ast-oembed-container)/'; if ( isset( $block['blockName'] ) && 'core/embed' !== $block['blockName'] && 'core/youtube' !== $block['blockName'] ) { return $block_content; } /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( ( ! empty( $block['blockName'] ) && ( 'core/embed' === $block['blockName'] || 'core/youtube' === $block['blockName'] ) ) && ! empty( $block['attrs'] ) && empty( $block['attrs']['url'] ) ) { return $block_content; } if ( 1 === preg_match( $yt_wrapper_with_inner_iframe_regex, $block_content ) ) { return $block_content; } $video_url = ! empty( $block['attrs']['url'] ) ? esc_url( $block['attrs']['url'] ) : ''; $replace_regex = '/<div\s+class="wp-block-embed__wrapper"\s+>(.*?)<\/div>/s'; $updated_content = preg_replace_callback( $replace_regex, /** * Add iframe wrapper for videos. * * @param array $matches Matches. * @return mixed Updated content. */ function ( $matches ) use ( $video_url, $block_content, $block ) { return Astra_After_Setup_Theme::get_instance()->responsive_oembed_wrapper( $matches[1], $video_url, array(), true ); }, $block_content ); return $updated_content; } } /** * Kicking this off by object */ new Astra_Gutenberg(); woocommerce/customizer/sections/class-astra-woo-store-notice-configs.php 0000644 00000007065 15006151013 0022705 0 ustar 00 <?php /** * Store Notice options for Astra Theme. * * @package Astra * @link https://wpastra.com/ * @since Astra 3.9.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Customizer WooCommerece store notice - customizer config initial setup. */ class Astra_Woo_Store_Notice_Configs extends Astra_Customizer_Config_Base { /** * Register Astra-WooCommerce Shop Cart Layout Customizer Configurations. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 3.9.0 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $_configs = array( /** * Option: Transparent Header Builder - HTML Elements configs. */ array( 'name' => ASTRA_THEME_SETTINGS . '[woo-store-notice-colors-group]', 'default' => astra_get_option( 'woo-store-notice-colors-group' ), 'type' => 'control', 'control' => 'ast-color-group', 'title' => __( 'Color', 'astra' ), 'section' => 'woocommerce_store_notice', 'transport' => 'postMessage', 'priority' => 50, 'context' => array( array( 'setting' => 'woocommerce_demo_store', 'operator' => '==', 'value' => true, ), ), 'divider' => array( 'ast_class' => 'ast-top-divider ast-bottom-divider' ), ), // Option: Text Color. array( 'name' => 'store-notice-text-color', 'default' => astra_get_option( 'store-notice-text-color' ), 'parent' => ASTRA_THEME_SETTINGS . '[woo-store-notice-colors-group]', 'type' => 'sub-control', 'control' => 'ast-color', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ), 'section' => 'woocommerce_store_notice', 'transport' => 'postMessage', 'priority' => 1, 'title' => __( 'Text', 'astra' ), ), // Option: Background Color. array( 'name' => 'store-notice-background-color', 'default' => astra_get_option( 'store-notice-background-color' ), 'parent' => ASTRA_THEME_SETTINGS . '[woo-store-notice-colors-group]', 'type' => 'sub-control', 'control' => 'ast-color', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ), 'section' => 'woocommerce_store_notice', 'transport' => 'postMessage', 'priority' => 2, 'title' => __( 'Background', 'astra' ), ), /** * Option: Notice Position */ array( 'name' => ASTRA_THEME_SETTINGS . '[store-notice-position]', 'default' => astra_get_option( 'store-notice-position' ), 'type' => 'control', 'control' => 'ast-selector', 'section' => 'woocommerce_store_notice', 'transport' => 'postMessage', 'priority' => 60, 'title' => __( 'Notice Position', 'astra' ), 'choices' => array( 'hang-over-top' => __( 'Hang Over Top', 'astra' ), 'top' => __( 'Top', 'astra' ), 'bottom' => __( 'Bottom', 'astra' ), ), 'context' => array( array( 'setting' => 'woocommerce_demo_store', 'operator' => '==', 'value' => true, ), ), 'renderAs' => 'text', 'responsive' => false, ), ); return array_merge( $configurations, $_configs ); } } new Astra_Woo_Store_Notice_Configs(); woocommerce/customizer/sections/class-astra-woo-shop-sidebar-configs.php 0000644 00000007333 15006151013 0022650 0 ustar 00 <?php /** * Content Spacing Options for our theme. * * @package Astra * @link https://www.brainstormforce.com * @since Astra 1.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Woo_Shop_Sidebar_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Woo_Shop_Sidebar_Configs extends Astra_Customizer_Config_Base { /** * Register Astra-WooCommerce Shop Sidebar Configurations. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.4.3 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $_configs = array( /** * Option: Sidebar Layout. */ array( 'name' => ASTRA_THEME_SETTINGS . '[woocommerce-sidebar-layout]', 'type' => 'control', 'control' => 'ast-radio-image', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_choices' ), 'section' => 'section-woo-general', 'default' => astra_get_option( 'woocommerce-sidebar-layout' ), 'priority' => 5, 'title' => __( 'Sidebar Layout', 'astra' ), 'choices' => array( 'default' => array( 'label' => __( 'Default', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'layout-default', false ) : '', ), 'no-sidebar' => array( 'label' => __( 'No Sidebar', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'no-sidebar', false ) : '', ), 'left-sidebar' => array( 'label' => __( 'Left Sidebar', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'left-sidebar', false ) : '', ), 'right-sidebar' => array( 'label' => __( 'Right Sidebar', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'right-sidebar', false ) : '', ), ), 'description' => __( 'Sidebar will only apply when container layout is set to normal.', 'astra' ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ), /** * Option: Woocommerce Sidebar Style. */ array( 'name' => ASTRA_THEME_SETTINGS . '[woocommerce-sidebar-style]', 'type' => 'control', 'control' => 'ast-selector', 'section' => 'section-woo-general', 'default' => astra_get_option( 'woocommerce-sidebar-style', 'default' ), 'priority' => 5, 'title' => __( 'Sidebar Style', 'astra' ), 'choices' => array( 'default' => __( 'Default', 'astra' ), 'unboxed' => __( 'Unboxed', 'astra' ), 'boxed' => __( 'Boxed', 'astra' ), ), 'responsive' => false, 'renderAs' => 'text', 'divider' => array( 'ast_class' => 'ast-top-divider' ), ), /** * Option: Divider */ array( 'name' => ASTRA_THEME_SETTINGS . '[shop-display-options-divider]', 'section' => 'woocommerce_product_catalog', 'title' => __( 'Shop Display Options', 'astra' ), 'type' => 'control', 'control' => 'ast-heading', 'priority' => 9.5, 'settings' => array(), 'divider' => array( 'ast_class' => 'ast-section-spacing ast-bottom-spacing' ), ), ); return array_merge( $configurations, $_configs ); } } } new Astra_Woo_Shop_Sidebar_Configs(); woocommerce/customizer/sections/layout/class-astra-woo-shop-misc-layout-configs.php 0000644 00000006302 15006151013 0025015 0 ustar 00 <?php /** * WooCommerce Options for Astra Theme. * * @package Astra * @link https://wpastra.com/ * @since Astra 3.9.2 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Woo_Shop_Misc_Layout_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Woo_Shop_Misc_Layout_Configs extends Astra_Customizer_Config_Base { /** * Register Astra-WooCommerce Misc Customizer Configurations. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 3.9.2 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $_configs = array( /** * Option: Enable Quantity Plus and Minus. */ array( 'name' => ASTRA_THEME_SETTINGS . '[single-product-plus-minus-button]', 'default' => astra_get_option( 'single-product-plus-minus-button' ), 'type' => 'control', 'section' => 'section-woo-misc', 'title' => __( 'Enable Quantity Plus and Minus', 'astra' ), 'description' => __( 'Adds plus and minus buttons besides product quantity', 'astra' ), 'priority' => 59, 'control' => 'ast-toggle-control', 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), ); /** * Option: Adds tabs only if astra addons is enabled. */ if ( astra_has_pro_woocommerce_addon() ) { $_configs[] = array( 'name' => 'section-woo-general-tabs', 'section' => 'section-woo-misc', 'type' => 'control', 'control' => 'ast-builder-header-control', 'priority' => 0, 'description' => '', ); } if ( astra_showcase_upgrade_notices() ) { // Learn More link if Astra Pro is not activated. $_configs[] = array( 'name' => ASTRA_THEME_SETTINGS . '[ast-woo-misc-pro-items]', 'type' => 'control', 'control' => 'ast-upgrade', 'campaign' => 'woocommerce', 'renderAs' => 'list', 'choices' => array( 'two' => array( 'title' => __( 'Modern input style', 'astra' ), ), 'one' => array( 'title' => __( 'Sale badge modifications', 'astra' ), ), 'three' => array( 'title' => __( 'Ecommerce steps navigation', 'astra' ), ), 'four' => array( 'title' => __( 'Quantity updater designs', 'astra' ), ), 'five' => array( 'title' => __( 'Modern my-account page', 'astra' ), ), 'six' => array( 'title' => __( 'Downloads, Orders grid view', 'astra' ), ), 'seven' => array( 'title' => __( 'Modern thank-you page design', 'astra' ), ), ), 'section' => 'section-woo-misc', 'default' => '', 'priority' => 999, 'title' => __( 'Access extra conversion tools to make more profit from your eCommerce store', 'astra' ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), 'context' => array(), ); } return array_merge( $configurations, $_configs ); } } } new Astra_Woo_Shop_Misc_Layout_Configs(); woocommerce/customizer/sections/layout/class-astra-woo-shop-cart-layout-configs.php 0000644 00000014206 15006151013 0025015 0 ustar 00 <?php /** * WooCommerce Options for Astra Theme. * * @package Astra * @link https://wpastra.com/ * @since Astra 1.1.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Woo_Shop_Cart_Layout_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Woo_Shop_Cart_Layout_Configs extends Astra_Customizer_Config_Base { /** * Register Astra-WooCommerce Shop Cart Layout Customizer Configurations. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.4.3 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $_configs = array( /** * Option: Enable checkout button text */ array( 'name' => ASTRA_THEME_SETTINGS . '[woo-enable-cart-button-text]', 'default' => astra_get_option( 'woo-enable-cart-button-text' ), 'type' => 'control', 'section' => 'section-woo-shop-cart', 'title' => __( 'Change Cart Button Text', 'astra' ), 'description' => __( 'Add custom text for cart button', 'astra' ), 'control' => 'ast-toggle-control', 'priority' => 2, ), /** * Option: Checkout */ array( 'name' => ASTRA_THEME_SETTINGS . '[woo-cart-button-text]', 'default' => astra_get_option( 'woo-cart-button-text' ), 'type' => 'control', 'section' => 'section-woo-shop-cart', 'title' => __( 'Cart Button Text', 'astra' ), 'context' => array( Astra_Builder_Helper::$general_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[woo-enable-cart-button-text]', 'operator' => '==', 'value' => true, ), ), 'control' => 'text', 'priority' => 2, ), /** * Option: Cart upsells * * Enable Cross-sells - in the code it is refrenced as upsells rather than cross-sells. */ array( 'name' => ASTRA_THEME_SETTINGS . '[enable-cart-upsells]', 'section' => 'section-woo-shop-cart', 'type' => 'control', 'control' => 'ast-toggle-control', 'default' => astra_get_option( 'enable-cart-upsells' ), 'title' => __( 'Enable Cross-sells', 'astra' ), 'priority' => 2.7, 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), ); if ( defined( 'WC_VERSION' ) && version_compare( WC_VERSION, '8.3', '>=' ) ) { $_configs[] = array( 'name' => ASTRA_THEME_SETTINGS . '[woo-block-incompatible-cart-notice]', 'type' => 'control', 'control' => 'ast-description', 'section' => 'section-woo-shop-cart', 'priority' => 1, 'label' => '', 'help' => '<p style="margin-bottom: 20px;>"><strong>' . __( 'Note:', 'astra' ) . '</strong>' . __( ' Certain Cart page options may not work smoothly on the block editor based Cart page. For best results with these features, prefer using a shortcode based Cart page.', 'astra' ) . '</p>', ); $_configs[] = array( 'name' => ASTRA_THEME_SETTINGS . '[woo-block-incompatible-checkout-notice]', 'type' => 'control', 'control' => 'ast-description', 'section' => 'woocommerce_checkout', 'priority' => 1, 'label' => '', 'help' => '<p style="margin-bottom: 20px;>"><strong>' . __( 'Note:', 'astra' ) . '</strong>' . __( ' Certain Checkout page options may not work smoothly on the block editor based Checkout page. For best results with these features, prefer using a shortcode-based Checkout page.', 'astra' ) . '</p>', ); } if ( astra_showcase_upgrade_notices() ) { // Learn More link if Astra Pro is not activated. $_configs[] = array( 'name' => ASTRA_THEME_SETTINGS . '[ast-woo-cart-pro-items]', 'type' => 'control', 'control' => 'ast-upgrade', 'campaign' => 'woocommerce', 'renderAs' => 'list', 'choices' => array( 'two' => array( 'title' => __( 'Modern cart layout', 'astra' ), ), 'one' => array( 'title' => __( 'Sticky cart totals', 'astra' ), ), 'three' => array( 'title' => __( 'Real-time quantity updater', 'astra' ), ), ), 'section' => 'section-woo-shop-cart', 'default' => '', 'priority' => 999, 'title' => __( 'Convert more, earn more with extensive cart conversion features', 'astra' ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), 'context' => array(), ); $_configs[] = array( 'name' => ASTRA_THEME_SETTINGS . '[ast-woo-checkout-pro-items]', 'type' => 'control', 'control' => 'ast-upgrade', 'campaign' => 'woocommerce', 'renderAs' => 'list', 'choices' => array( 'two' => array( 'title' => __( 'Modern layout', 'astra' ), ), 'one' => array( 'title' => __( 'Multi-column layouts', 'astra' ), ), 'three' => array( 'title' => __( 'Modern order received layout', 'astra' ), ), 'four' => array( 'title' => __( 'Sticky order review', 'astra' ), ), 'five' => array( 'title' => __( 'Two-step checkout', 'astra' ), ), 'six' => array( 'title' => __( 'Order note, Coupon field control', 'astra' ), ), 'seven' => array( 'title' => __( 'Distraction free checkout', 'astra' ), ), 'eight' => array( 'title' => __( 'Persistent checkout form data', 'astra' ), ), 'nine' => array( 'title' => __( 'Text form options', 'astra' ), ), 'ten' => array( 'title' => __( 'Summary, Payment background', 'astra' ), ), ), 'section' => 'woocommerce_checkout', 'default' => '', 'priority' => 999, 'title' => __( 'Encourage last-minute purchases with extra conversion options at checkout', 'astra' ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), 'context' => array(), ); } return array_merge( $configurations, $_configs ); } } } new Astra_Woo_Shop_Cart_Layout_Configs(); woocommerce/customizer/sections/layout/class-astra-woo-shop-layout-configs.php 0000644 00000033637 15006151013 0024077 0 ustar 00 <?php /** * WooCommerce Options for Astra Theme. * * @package Astra * @link https://wpastra.com/ * @since Astra 1.1.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Woo_Shop_Layout_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Woo_Shop_Layout_Configs extends Astra_Customizer_Config_Base { /** * Register Astra-WooCommerce Shop Layout Customizer Configurations. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.4.3 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $astra_addon_with_woo = ( astra_has_pro_woocommerce_addon() ) ? true : false; /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $add_to_cart_attr = array(); $ratings = array(); $astra_shop_page_pro_features = array(); if ( $astra_addon_with_woo ) { $astra_shop_page_pro_features = array( 'redirect_cart_page' => __( 'Redirect To Cart Page', 'astra' ), 'redirect_checkout_page' => __( 'Redirect To Checkout Page', 'astra' ), ); } /** * Shop product add to cart control. */ $add_to_cart_attr['add_cart'] = array( 'clone' => false, 'is_parent' => true, 'main_index' => 'add_cart', 'clone_limit' => 2, 'title' => __( 'Add To Cart', 'astra' ), ); /** * Shop product total review count. */ $ratings['ratings'] = array( 'clone' => false, 'is_parent' => true, 'main_index' => 'ratings', 'clone_limit' => 2, 'title' => __( 'Ratings', 'astra' ), ); if ( $astra_addon_with_woo ) { $current_shop_layouts = array( 'shop-page-grid-style' => array( 'label' => __( 'Design 1', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'shop-grid-view', false ) : '', ), 'shop-page-modern-style' => array( 'label' => __( 'Design 2', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'shop-modern-view', false ) : '', ), 'shop-page-list-style' => array( 'label' => __( 'Design 3', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'shop-list-view', false ) : '', ), ); } else { $current_shop_layouts = array( 'shop-page-grid-style' => array( 'label' => __( 'Design 1', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'shop-grid-view', false ) : '', ), 'shop-page-modern-style' => array( 'label' => __( 'Design 2', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'shop-modern-view', false ) : '', ), ); } $_configs = array( /** * Option: Context for shop archive section. */ array( 'name' => 'section-woocommerce-shop-context-tabs', 'section' => 'woocommerce_product_catalog', 'type' => 'control', 'control' => 'ast-builder-header-control', 'priority' => 0, 'description' => '', ), /** * Option: Divider */ array( 'name' => ASTRA_THEME_SETTINGS . '[shop-box-styling]', 'section' => 'woocommerce_product_catalog', 'title' => __( 'Shop Card Styling', 'astra' ), 'type' => 'control', 'control' => 'ast-heading', 'priority' => 229, 'settings' => array(), 'context' => array( Astra_Builder_Helper::$design_tab_config, ), ), /** * Option: Content Alignment */ array( 'name' => ASTRA_THEME_SETTINGS . '[shop-product-align-responsive]', 'default' => astra_get_option( 'shop-product-align-responsive' ), 'type' => 'control', 'control' => 'ast-selector', 'section' => 'woocommerce_product_catalog', 'priority' => 229, 'title' => __( 'Horizontal Content Alignment', 'astra' ), 'responsive' => true, 'choices' => array( 'align-left' => 'align-left', 'align-center' => 'align-center', 'align-right' => 'align-right', ), 'context' => array( Astra_Builder_Helper::$design_tab_config, ), 'divider' => ! defined( 'ASTRA_EXT_VER' ) ? array( 'ast_class' => 'ast-section-spacing' ) : array( 'ast_class' => 'ast-bottom-section-divider ast-section-spacing' ), ), /** * Option: Divider */ array( 'name' => ASTRA_THEME_SETTINGS . '[woo-shop-structure-divider]', 'section' => 'woocommerce_product_catalog', 'title' => __( 'Shop Card Structure', 'astra' ), 'type' => 'control', 'control' => 'ast-heading', 'priority' => 15, 'settings' => array(), 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: Single Post Meta */ array( 'name' => ASTRA_THEME_SETTINGS . '[shop-product-structure]', 'type' => 'control', 'control' => 'ast-sortable', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_multi_choices' ), 'section' => 'woocommerce_product_catalog', 'default' => astra_get_option( 'shop-product-structure' ), 'priority' => 15, 'choices' => array_merge( array( 'title' => __( 'Title', 'astra' ), 'price' => __( 'Price', 'astra' ), 'short_desc' => __( 'Short Description', 'astra' ), ), $add_to_cart_attr, array( 'category' => __( 'Category', 'astra' ), ), $ratings, ), 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: Divider */ array( 'name' => ASTRA_THEME_SETTINGS . '[woo-shop-skin-divider]', 'section' => 'woocommerce_product_catalog', 'title' => __( 'Shop Layout', 'astra' ), 'type' => 'control', 'control' => 'ast-heading', 'priority' => 7, 'settings' => array(), 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: Choose Product Style */ array( 'name' => ASTRA_THEME_SETTINGS . '[shop-style]', 'default' => astra_get_option( 'shop-style' ), 'type' => 'control', 'section' => 'woocommerce_product_catalog', 'title' => __( 'Shop Card Design', 'astra' ), 'control' => 'ast-radio-image', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_choices' ), 'priority' => 8, 'choices' => $current_shop_layouts, 'divider' => array( 'ast_class' => 'ast-section-spacing ast-bottom-section-divider' ), ), /** * Option: Shop Columns */ array( 'name' => ASTRA_THEME_SETTINGS . '[shop-grids]', 'type' => 'control', 'control' => 'ast-responsive-slider', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_slider' ), 'section' => 'woocommerce_product_catalog', 'default' => astra_get_option( 'shop-grids', array( 'desktop' => 4, 'tablet' => 3, 'mobile' => 2, ) ), 'priority' => 9, 'title' => __( 'Shop Columns', 'astra' ), 'input_attrs' => array( 'step' => 1, 'min' => 1, 'max' => 6, ), 'divider' => array( 'ast_class' => 'ast-bottom-section-divider' ), ), /** * Option: Products Per Page */ array( 'name' => ASTRA_THEME_SETTINGS . '[shop-no-of-products]', 'type' => 'control', 'section' => 'woocommerce_product_catalog', 'title' => __( 'Products Per Page', 'astra' ), 'default' => astra_get_option( 'shop-no-of-products' ), 'control' => 'number', 'priority' => 9, 'input_attrs' => array( 'min' => 1, 'step' => 1, 'max' => 100, ), ), /** * Option: Shop Archive Content Width */ array( 'name' => ASTRA_THEME_SETTINGS . '[shop-archive-width]', 'type' => 'control', 'control' => 'ast-selector', 'section' => 'woocommerce_product_catalog', 'default' => astra_get_option( 'shop-archive-width' ), 'priority' => 9, 'title' => __( 'Shop Archive Content Width', 'astra' ), 'choices' => array( 'default' => __( 'Default', 'astra' ), 'custom' => __( 'Custom', 'astra' ), ), 'transport' => 'refresh', 'renderAs' => 'text', 'responsive' => false, 'divider' => $astra_addon_with_woo ? array( 'ast_class' => 'ast-top-section-divider' ) : array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: Enter Width */ array( 'name' => ASTRA_THEME_SETTINGS . '[shop-archive-max-width]', 'type' => 'control', 'control' => 'ast-slider', 'section' => 'woocommerce_product_catalog', 'default' => astra_get_option( 'shop-archive-max-width' ), 'priority' => 9, 'title' => __( 'Custom Width', 'astra' ), 'transport' => 'postMessage', 'suffix' => 'px', 'input_attrs' => array( 'min' => 768, 'step' => 1, 'max' => 1920, ), 'context' => array( Astra_Builder_Helper::$general_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[shop-archive-width]', 'operator' => '===', 'value' => 'custom', ), ), 'divider' => array( 'ast_class' => 'ast-top-dotted-divider' ), ), ); /** * Option: Shop add to cart action. */ $_configs[] = array( 'name' => 'shop-add-to-cart-action', 'parent' => ASTRA_THEME_SETTINGS . '[shop-product-structure]', 'default' => astra_get_option( 'shop-add-to-cart-action' ), 'section' => 'woocommerce_product_catalog', 'title' => __( 'Add To Cart Action', 'astra' ), 'type' => 'sub-control', 'control' => 'ast-select', 'linked' => 'add_cart', 'priority' => 10, 'choices' => array_merge( array( 'default' => __( 'Default', 'astra' ), 'slide_in_cart' => __( 'Slide In Cart', 'astra' ), ), $astra_shop_page_pro_features ), 'responsive' => false, 'renderAs' => 'text', 'transport' => 'postMessage', ); /** * Total Review count option config. */ $_configs[] = array( 'name' => 'shop-ratings-product-archive', 'parent' => ASTRA_THEME_SETTINGS . '[shop-product-structure]', 'default' => astra_get_option( 'shop-ratings-product-archive' ), 'linked' => 'ratings', 'type' => 'sub-control', 'control' => 'ast-selector', 'section' => 'woocommerce_product_catalog', 'priority' => 10, 'title' => __( 'Review Count', 'astra' ), 'choices' => array( 'default' => __( 'Default', 'astra' ), 'count_string' => __( 'Count + Text', 'astra' ), ), 'transport' => 'postMessage', 'responsive' => false, 'renderAs' => 'text', ); /** * Option: Shop add to cart action notice. */ $_configs[] = array( 'name' => 'shop-add-to-cart-action-notice', 'parent' => ASTRA_THEME_SETTINGS . '[shop-product-structure]', 'type' => 'sub-control', 'control' => 'ast-description', 'section' => 'woocommerce_product_catalog', 'priority' => 10, 'label' => '', 'linked' => 'add_cart', 'help' => __( 'Please publish the changes and see result on the frontend.<br />[Slide in cart requires Cart added inside Header Builder]', 'astra' ), ); // Learn More link if Astra Pro is not activated. if ( astra_showcase_upgrade_notices() ) { $_configs[] = array( 'name' => ASTRA_THEME_SETTINGS . '[ast-woo-shop-pro-items]', 'type' => 'control', 'control' => 'ast-upgrade', 'campaign' => 'woocommerce', 'renderAs' => 'list', 'choices' => array( 'two' => array( 'title' => __( 'More shop design layouts', 'astra' ), ), 'three' => array( 'title' => __( 'Shop toolbar structure', 'astra' ), ), 'five' => array( 'title' => __( 'Offcanvas product filters', 'astra' ), ), 'six' => array( 'title' => __( 'Products quick view', 'astra' ), ), 'seven' => array( 'title' => __( 'Shop pagination', 'astra' ), ), 'eight' => array( 'title' => __( 'More typography options', 'astra' ), ), 'nine' => array( 'title' => __( 'More color options', 'astra' ), ), 'ten' => array( 'title' => __( 'More spacing options', 'astra' ), ), 'four' => array( 'title' => __( 'Box shadow design options', 'astra' ), ), 'one' => array( 'title' => __( 'More design controls', 'astra' ), ), ), 'section' => 'woocommerce_product_catalog', 'default' => '', 'priority' => 999, 'title' => __( 'Optimize your WooCommerce store for maximum profit with enhanced features', 'astra' ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), 'context' => array(), ); } $configurations = array_merge( $configurations, $_configs ); return $configurations; } } } new Astra_Woo_Shop_Layout_Configs(); woocommerce/customizer/sections/layout/class-astra-woo-shop-single-layout-configs.php 0000644 00000054340 15006151013 0025350 0 ustar 00 <?php /** * WooCommerce Options for Astra Theme. * * @package Astra * @link https://wpastra.com/ * @since Astra 1.1.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Woo_Shop_Single_Layout_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Woo_Shop_Single_Layout_Configs extends Astra_Customizer_Config_Base { /** * Register Astra-WooCommerce Shop Single Layout Customizer Configurations. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.4.3 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $product_divider_title = astra_has_pro_woocommerce_addon() ? __( 'Product Structure Options', 'astra' ) : __( 'Product Options', 'astra' ); $clonning_attr = array(); $add_to_cart_attr = array(); /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( astra_has_pro_woocommerce_addon() ) { /** * Single product extras control. */ $clonning_attr['summary-extras'] = array( 'clone' => false, 'is_parent' => true, 'main_index' => 'summary-extras', 'clone_limit' => 2, 'title' => __( 'Extras', 'astra' ), ); } /** * Single product add to cart control. */ $add_to_cart_attr['add_cart'] = array( 'clone' => false, 'is_parent' => true, 'main_index' => 'add_cart', 'clone_limit' => 2, 'title' => __( 'Add To Cart', 'astra' ), ); /** * Single product payment control. */ $clonning_attr['single-product-payments'] = array( 'clone' => false, 'is_parent' => true, 'main_index' => 'single-product-payments', 'clone_limit' => 2, 'title' => __( 'Payments', 'astra' ), ); $_configs = array( array( 'name' => 'section-woo-shop-single-ast-context-tabs', 'section' => 'section-woo-shop-single', 'type' => 'control', 'control' => 'ast-builder-header-control', 'priority' => 0, 'description' => '', ), /** * Option: Divider. */ array( 'name' => ASTRA_THEME_SETTINGS . '[woo-single-product-structure-divider]', 'section' => 'section-woo-shop-single', 'title' => __( 'Single Product Structure', 'astra' ), 'type' => 'control', 'control' => 'ast-heading', 'priority' => 15, 'settings' => array(), 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: Single Post Meta */ array( 'name' => ASTRA_THEME_SETTINGS . '[single-product-structure]', 'default' => astra_get_option( 'single-product-structure' ), 'type' => 'control', 'control' => 'ast-sortable', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_multi_choices' ), 'section' => 'section-woo-shop-single', 'priority' => 15, 'choices' => array_merge( array( 'title' => __( 'Title', 'astra' ), 'price' => __( 'Price', 'astra' ), 'ratings' => __( 'Ratings', 'astra' ), ), $add_to_cart_attr, array( 'short_desc' => __( 'Short Description', 'astra' ), 'meta' => __( 'Meta', 'astra' ), 'category' => __( 'Category', 'astra' ), ), $clonning_attr ), 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: Divider. */ array( 'name' => ASTRA_THEME_SETTINGS . '[woo-single-product-structure-fields-divider]', 'section' => 'section-woo-shop-single', 'title' => $product_divider_title, 'type' => 'control', 'control' => 'ast-heading', 'priority' => 16, 'settings' => array(), 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: Disable Breadcrumb */ array( 'name' => ASTRA_THEME_SETTINGS . '[single-product-breadcrumb-disable]', 'section' => 'section-woo-shop-single', 'type' => 'control', 'control' => 'ast-toggle-control', 'default' => astra_get_option( 'single-product-breadcrumb-disable' ), 'title' => __( 'Enable Breadcrumb', 'astra' ), 'priority' => 16, 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: Enable free shipping */ array( 'name' => ASTRA_THEME_SETTINGS . '[single-product-enable-shipping]', 'default' => astra_get_option( 'single-product-enable-shipping' ), 'type' => 'control', 'section' => 'section-woo-shop-single', 'title' => __( 'Enable Shipping Text', 'astra' ), 'description' => __( 'Adds shipping text next to the product price.', 'astra' ), 'control' => 'ast-toggle-control', 'priority' => 16, ), /** * Option: Single page variation tab layout. */ array( 'name' => ASTRA_THEME_SETTINGS . '[single-product-variation-tabs-layout]', 'default' => astra_get_option( 'single-product-variation-tabs-layout' ), 'type' => 'control', 'section' => 'section-woo-shop-single', 'title' => __( 'Product Variation Layout', 'astra' ), 'description' => __( 'Changes single product variation layout to be displayed inline or stacked.', 'astra' ), 'context' => array( Astra_Builder_Helper::$general_tab_config, ), 'control' => 'ast-selector', 'priority' => 17, 'choices' => array( 'horizontal' => __( 'Inline', 'astra' ), 'vertical' => __( 'Stack', 'astra' ), ), 'renderAs' => 'text', 'responsive' => false, ), /** * Option: Disable Transparent Header on WooCommerce Product pages */ array( 'name' => ASTRA_THEME_SETTINGS . '[transparent-header-disable-woo-products]', 'default' => astra_get_option( 'transparent-header-disable-woo-products' ), 'type' => 'control', 'section' => 'section-transparent-header', 'title' => __( 'Disable on WooCommerce Product Pages?', 'astra' ), 'context' => array( Astra_Builder_Helper::$general_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[transparent-header-enable]', 'operator' => '==', 'value' => '1', ), ), 'priority' => 26, 'control' => 'ast-toggle-control', ), /** * Option: Free shipping text */ array( 'name' => ASTRA_THEME_SETTINGS . '[single-product-shipping-text]', 'default' => astra_get_option( 'single-product-shipping-text' ), 'type' => 'control', 'section' => 'section-woo-shop-single', 'title' => __( 'Shipping Text', 'astra' ), 'context' => array( Astra_Builder_Helper::$general_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[single-product-enable-shipping]', 'operator' => '==', 'value' => true, ), ), 'control' => 'text', 'priority' => 16, 'divider' => array( 'ast_class' => 'ast-bottom-spacing' ), ), /** * Option: Divider. */ array( 'name' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart-divider]', 'section' => 'section-woo-shop-single', 'title' => __( 'Sticky Add To Cart', 'astra' ), 'type' => 'control', 'control' => 'ast-heading', 'priority' => 76, 'settings' => array(), 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: Sticky add to cart. */ array( 'name' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart]', 'default' => astra_get_option( 'single-product-sticky-add-to-cart' ), 'type' => 'control', 'section' => 'section-woo-shop-single', 'title' => __( 'Enable Sticky Add to Cart', 'astra' ), 'control' => 'ast-toggle-control', 'priority' => 76, 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: Sticky add to cart position. */ array( 'name' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart-position]', 'default' => astra_get_option( 'single-product-sticky-add-to-cart-position' ), 'type' => 'control', 'control' => 'ast-selector', 'section' => 'section-woo-shop-single', 'priority' => 76, 'title' => __( 'Sticky Placement ', 'astra' ), 'choices' => array( 'top' => __( 'Top', 'astra' ), 'bottom' => __( 'Bottom', 'astra' ), ), 'transport' => 'postMessage', 'renderAs' => 'text', 'responsive' => false, 'context' => array( Astra_Builder_Helper::$general_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart]', 'operator' => '==', 'value' => true, ), ), 'divider' => array( 'ast_class' => 'ast-top-dotted-divider' ), ), /** * Option: Divider. */ array( 'name' => ASTRA_THEME_SETTINGS . '[woo-single-product-sticky-color-divider]', 'section' => 'section-woo-shop-single', 'title' => __( 'Sticky Add To Cart Colors', 'astra' ), 'type' => 'control', 'control' => 'ast-heading', 'priority' => 82, 'settings' => array(), 'context' => array( Astra_Builder_Helper::$design_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart]', 'operator' => '==', 'value' => true, ), ), 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: Sticky add to cart text color. */ array( 'name' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart-text-color]', 'default' => astra_get_option( 'single-product-sticky-add-to-cart-text-color' ), 'type' => 'control', 'section' => 'section-woo-shop-single', 'control' => 'ast-color', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ), 'transport' => 'postMessage', 'title' => __( 'Text Color', 'astra' ), 'context' => array( Astra_Builder_Helper::$design_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart]', 'operator' => '==', 'value' => true, ), ), 'priority' => 82, 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: Sticky add to cart background color. */ array( 'name' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart-bg-color]', 'default' => astra_get_option( 'single-product-sticky-add-to-cart-bg-color' ), 'type' => 'control', 'section' => 'section-woo-shop-single', 'control' => 'ast-color', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ), 'transport' => 'postMessage', 'title' => __( 'Background Color', 'astra' ), 'context' => array( Astra_Builder_Helper::$design_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart]', 'operator' => '==', 'value' => true, ), ), 'priority' => 82, ), /** * Option: Sticky add to cart button text color. */ array( 'name' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart-btn-color]', 'default' => astra_get_option( 'single-product-sticky-add-to-cart-btn-color' ), 'type' => 'control', 'control' => 'ast-color-group', 'title' => __( 'Button Text', 'astra' ), 'section' => 'section-woo-shop-single', 'transport' => 'postMessage', 'priority' => 82, 'context' => array( Astra_Builder_Helper::$design_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart]', 'operator' => '==', 'value' => true, ), ), ), /** * Option: Link Color. */ array( 'type' => 'sub-control', 'priority' => 76, 'parent' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart-btn-color]', 'section' => 'section-woo-shop-single', 'control' => 'ast-color', 'default' => astra_get_option( 'single-product-sticky-add-to-cart-btn-n-color' ), 'name' => 'single-product-sticky-add-to-cart-btn-n-color', 'title' => __( 'Normal', 'astra' ), 'tab' => __( 'Normal', 'astra' ), ), /** * Option: Link Hover Color. */ array( 'type' => 'sub-control', 'priority' => 82, 'parent' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart-btn-color]', 'section' => 'section-woo-shop-single', 'control' => 'ast-color', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ), 'default' => astra_get_option( 'single-product-sticky-add-to-cart-btn-h-color' ), 'transport' => 'postMessage', 'name' => 'single-product-sticky-add-to-cart-btn-h-color', 'title' => __( 'Hover', 'astra' ), 'tab' => __( 'Hover', 'astra' ), ), /** * Option: Sticky add to cart button background color. */ array( 'name' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart-btn-bg-color]', 'default' => astra_get_option( 'single-product-sticky-add-to-cart-btn-bg-color' ), 'type' => 'control', 'control' => 'ast-color-group', 'title' => __( 'Button Background', 'astra' ), 'section' => 'section-woo-shop-single', 'transport' => 'postMessage', 'priority' => 82, 'context' => array( Astra_Builder_Helper::$design_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart]', 'operator' => '==', 'value' => true, ), ), ), /** * Option: Link Color. */ array( 'type' => 'sub-control', 'priority' => 82, 'parent' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart-btn-bg-color]', 'section' => 'section-woo-shop-single', 'control' => 'ast-color', 'default' => astra_get_option( 'single-product-sticky-add-to-cart-btn-bg-n-color' ), 'name' => 'single-product-sticky-add-to-cart-btn-bg-n-color', 'title' => __( 'Normal', 'astra' ), 'tab' => __( 'Normal', 'astra' ), ), /** * Option: Link Hover Color. */ array( 'type' => 'sub-control', 'priority' => 82, 'parent' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart-btn-bg-color]', 'section' => 'section-woo-shop-single', 'control' => 'ast-color', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ), 'default' => astra_get_option( 'single-product-sticky-add-to-cart-btn-bg-h-color' ), 'transport' => 'postMessage', 'name' => 'single-product-sticky-add-to-cart-btn-bg-h-color', 'title' => __( 'Hover', 'astra' ), 'tab' => __( 'Hover', 'astra' ), ), /** * Single product payment icon color style. */ array( 'name' => 'single-product-payment-icon-color', 'parent' => ASTRA_THEME_SETTINGS . '[single-product-structure]', 'default' => astra_get_option( 'single-product-payment-icon-color' ), 'linked' => 'single-product-payments', 'type' => 'sub-control', 'control' => 'ast-selector', 'section' => 'section-woo-shop-single', 'priority' => 5, 'title' => __( 'Choose Icon Colors', 'astra' ), 'choices' => array( 'inherit' => __( 'Default', 'astra' ), 'inherit_text_color' => __( 'Grayscale', 'astra' ), ), 'transport' => 'postMessage', 'responsive' => false, 'renderAs' => 'text', ), /** * Single product payment heading text. */ array( 'name' => 'single-product-payment-text', 'parent' => ASTRA_THEME_SETTINGS . '[single-product-structure]', 'default' => astra_get_option( 'single-product-payment-text' ), 'linked' => 'single-product-payments', 'type' => 'sub-control', 'control' => 'ast-text-input', 'section' => 'section-woo-shop-single', 'priority' => 5, 'transport' => 'postMessage', 'title' => __( 'Payment Title', 'astra' ), 'settings' => array(), ), ); /** * Single product extras list. */ $_configs[] = array( 'name' => 'single-product-payment-list', 'parent' => ASTRA_THEME_SETTINGS . '[single-product-structure]', 'default' => astra_get_option( 'single-product-payment-list' ), 'linked' => 'single-product-payments', 'type' => 'sub-control', 'control' => 'ast-list-icons', 'section' => 'section-woo-shop-single', 'priority' => 10, 'divider' => array( 'ast_class' => 'ast-bottom-divider' ), 'disable' => false, 'input_attrs' => array( 'text_control_label' => __( 'Payment Title', 'astra' ), 'text_control_placeholder' => __( 'Add payment title', 'astra' ), ), ); /** * Option: Button width option */ $_configs[] = array( 'name' => 'single-product-cart-button-width', 'parent' => ASTRA_THEME_SETTINGS . '[single-product-structure]', 'default' => astra_get_option( 'single-product-cart-button-width' ), 'linked' => 'add_cart', 'type' => 'sub-control', 'control' => 'ast-responsive-slider', 'responsive' => true, 'section' => 'section-woo-shop-single', 'priority' => 11, 'title' => __( 'Button Width', 'astra' ), 'transport' => 'postMessage', 'suffix' => '%', 'input_attrs' => array( 'min' => 1, 'step' => 1, 'max' => 100, ), ); /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( astra_has_pro_woocommerce_addon() ) { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $_configs[] = array( 'name' => 'single-product-cart-button-width', 'parent' => ASTRA_THEME_SETTINGS . '[single-product-structure]', 'default' => astra_get_option( 'single-product-cart-button-width' ), 'linked' => 'add_cart', 'type' => 'sub-control', 'control' => 'ast-responsive-slider', 'responsive' => true, 'section' => 'section-woo-shop-single', 'priority' => 11, 'title' => __( 'Button Width', 'astra' ), 'transport' => 'postMessage', 'suffix' => '%', 'input_attrs' => array( 'min' => 1, 'step' => 1, 'max' => 100, ), ); } else { $_configs[] = array( 'name' => ASTRA_THEME_SETTINGS . '[single-product-cart-button-width]', 'default' => astra_get_option( 'single-product-cart-button-width' ), 'type' => 'control', 'transport' => 'postMessage', 'responsive' => true, 'control' => 'ast-responsive-slider', 'section' => 'section-woo-shop-single', 'title' => __( 'Button Width', 'astra' ), 'suffix' => '%', 'priority' => 16, 'input_attrs' => array( 'min' => 1, 'step' => 1, 'max' => 100, ), 'divider' => array( 'ast_class' => 'ast-top-section-divider ast-bottom-section-divider' ), ); } if ( ! defined( 'ASTRA_EXT_VER' ) ) { $_configs[] = array( 'name' => ASTRA_THEME_SETTINGS . '[sticky-add-to-cart-notice]', 'type' => 'control', 'control' => 'ast-description', 'section' => 'section-woo-shop-single', 'priority' => 5, 'label' => '', 'help' => __( 'Note: To get design settings make sure to enable sticky add to cart.', 'astra' ), 'context' => array( Astra_Builder_Helper::$design_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[single-product-sticky-add-to-cart]', 'operator' => '==', 'value' => false, ), ), ); if ( astra_showcase_upgrade_notices() ) { // Learn More link if Astra Pro is not activated. $_configs[] = array( 'name' => ASTRA_THEME_SETTINGS . '[ast-woo-single-product-pro-items]', 'type' => 'control', 'control' => 'ast-upgrade', 'campaign' => 'woocommerce', 'renderAs' => 'list', 'choices' => array( 'two' => array( 'title' => __( 'More product galleries', 'astra' ), ), 'three' => array( 'title' => __( 'Sticky product summary', 'astra' ), ), 'five' => array( 'title' => __( 'Product description layouts', 'astra' ), ), 'six' => array( 'title' => __( 'Related, Upsell product controls', 'astra' ), ), 'seven' => array( 'title' => __( 'Extras option for product structure', 'astra' ), ), 'eight' => array( 'title' => __( 'More typography options', 'astra' ), ), 'nine' => array( 'title' => __( 'More color options', 'astra' ), ), 'one' => array( 'title' => __( 'More design controls', 'astra' ), ), ), 'section' => 'section-woo-shop-single', 'default' => '', 'priority' => 999, 'title' => __( 'Extra conversion options for store product pages means extra profit!', 'astra' ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), 'context' => array(), ); } } return array_merge( $configurations, $_configs ); } } } new Astra_Woo_Shop_Single_Layout_Configs(); woocommerce/customizer/sections/class-astra-woo-shop-container-configs.php 0000644 00000006223 15006151013 0023216 0 ustar 00 <?php /** * Container Options for Astra theme. * * @package Astra * @link https://www.brainstormforce.com * @since Astra 1.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Woo_Shop_Container_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Woo_Shop_Container_Configs extends Astra_Customizer_Config_Base { /** * Register Astra-WooCommerce Shop Container Settings. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.4.3 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $_configs = array( /** * Option: Revamped Container Layout. */ array( 'name' => ASTRA_THEME_SETTINGS . '[woocommerce-ast-content-layout]', 'type' => 'control', 'control' => 'ast-radio-image', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_choices' ), 'section' => 'section-woo-general', 'default' => astra_get_option( 'woocommerce-ast-content-layout' ), 'priority' => 5, 'title' => __( 'Container Layout', 'astra' ), 'choices' => array( 'default' => array( 'label' => __( 'Default', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'layout-default', false ) : '', ), 'normal-width-container' => array( 'label' => __( 'Normal', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'normal-width-container', false ) : '', ), 'full-width-container' => array( 'label' => __( 'Full Width', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'full-width-container', false ) : '', ), ), 'divider' => array( 'ast_class' => 'ast-section-spacing ast-bottom-spacing' ), ), /** * Option: Content Style Option. */ array( 'name' => ASTRA_THEME_SETTINGS . '[woocommerce-content-style]', 'type' => 'control', 'control' => 'ast-selector', 'section' => 'section-woo-general', 'default' => astra_get_option( 'woocommerce-content-style', 'default' ), 'priority' => 5, 'title' => __( 'Container Style', 'astra' ), 'description' => __( 'Container style will apply only when layout is set to either normal or narrow.', 'astra' ), 'choices' => array( 'default' => __( 'Default', 'astra' ), 'unboxed' => __( 'Unboxed', 'astra' ), 'boxed' => __( 'Boxed', 'astra' ), ), 'renderAs' => 'text', 'responsive' => false, 'divider' => array( 'ast_class' => 'ast-top-dotted-divider' ), ), ); return array_merge( $configurations, $_configs ); } } } new Astra_Woo_Shop_Container_Configs(); woocommerce/customizer/class-astra-customizer-register-woo-section.php 0000644 00000003724 15006151013 0022503 0 ustar 00 <?php /** * Register customizer panels & sections fro Woocommerce. * * @package Astra * @link https://wpastra.com/ * @since Astra 1.1.0 * @since 1.4.6 Chnaged to using Astra_Customizer API */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } if ( ! class_exists( 'Astra_Customizer_Register_Woo_Section' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Customizer_Register_Woo_Section extends Astra_Customizer_Config_Base { /** * Register Panels and Sections for Customizer. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.4.3 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $configs = array( array( 'name' => 'section-woo-shop', 'title' => __( 'Shop', 'astra' ), 'type' => 'section', 'priority' => 20, 'panel' => 'woocommerce', ), array( 'name' => 'section-woo-shop-single', 'type' => 'section', 'title' => __( 'Single Product', 'astra' ), 'priority' => 12, 'panel' => 'woocommerce', ), array( 'name' => 'section-woo-shop-cart', 'type' => 'section', 'title' => __( 'Cart', 'astra' ), 'priority' => 20, 'panel' => 'woocommerce', ), array( 'name' => 'section-woo-general', 'title' => __( 'General', 'astra' ), 'type' => 'section', 'priority' => 10, 'panel' => 'woocommerce', ), array( 'name' => 'section-woo-misc', 'title' => __( 'Misc', 'astra' ), 'type' => 'section', 'priority' => 24.5, 'panel' => 'woocommerce', ), ); return array_merge( $configurations, $configs ); } } } new Astra_Customizer_Register_Woo_Section(); woocommerce/class-astra-woocommerce.php 0000644 00000472142 15006151013 0014330 0 ustar 00 <?php /** * WooCommerce Compatibility File. * * @link https://woocommerce.com/ * * @package Astra */ // If plugin - 'WooCommerce' not exist then return. if ( ! class_exists( 'WooCommerce' ) ) { return; } /** * Astra WooCommerce Compatibility */ if ( ! class_exists( 'Astra_Woocommerce' ) ) : /** * Astra WooCommerce Compatibility * * @since 1.0.0 */ class Astra_Woocommerce { /** * 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() { require_once ASTRA_THEME_DIR . 'inc/compatibility/woocommerce/woocommerce-common-functions.php';// phpcs:ignore: WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound add_filter( 'woocommerce_enqueue_styles', array( $this, 'woo_filter_style' ) ); add_filter( 'astra_theme_defaults', array( $this, 'theme_defaults' ) ); add_action( 'after_setup_theme', array( $this, 'setup_theme' ) ); // Register Store Sidebars. add_action( 'widgets_init', array( $this, 'store_widgets_init' ), 15 ); // Replace Store Sidebars. add_filter( 'astra_get_sidebar', array( $this, 'replace_store_sidebar' ) ); // Store Sidebar Layout. add_filter( 'astra_page_layout', array( $this, 'store_sidebar_layout' ) ); // Store Content Layout. add_filter( 'astra_get_content_layout', array( $this, 'store_content_layout' ) ); add_action( 'woocommerce_before_main_content', array( $this, 'before_main_content_start' ) ); add_action( 'woocommerce_after_main_content', array( $this, 'before_main_content_end' ) ); add_action( 'wp_enqueue_scripts', array( $this, 'add_scripts_styles' ) ); add_action( 'wp', array( $this, 'shop_customization' ), 5 ); add_action( 'wp_head', array( $this, 'single_product_customization' ), 5 ); add_action( 'wp', array( $this, 'woocommerce_init' ), 1 ); add_action( 'wp', array( $this, 'woocommerce_checkout' ) ); add_action( 'wp', array( $this, 'shop_meta_option' ), 1 ); add_action( 'wp', array( $this, 'cart_page_upselles' ) ); add_filter( 'loop_shop_columns', array( $this, 'shop_columns' ) ); add_filter( 'loop_shop_per_page', array( $this, 'shop_no_of_products' ) ); add_filter( 'body_class', array( $this, 'shop_page_products_item_class' ) ); add_filter( 'post_class', array( $this, 'single_product_class' ) ); add_filter( 'woocommerce_product_get_rating_html', array( $this, 'rating_markup' ), 10, 3 ); add_filter( 'woocommerce_output_related_products_args', array( $this, 'related_products_args' ) ); // Add Cart icon in Menu. add_filter( 'astra_get_dynamic_header_content', array( $this, 'astra_header_cart' ), 10, 3 ); // Add Cart option in dropdown. add_filter( 'astra_header_section_elements', array( $this, 'header_section_elements' ) ); // Cart fragment. if ( defined( 'WC_VERSION' ) && version_compare( WC_VERSION, '2.3', '>=' ) ) { add_filter( 'woocommerce_add_to_cart_fragments', array( $this, 'cart_link_fragment' ), 11 ); } else { add_filter( 'add_to_cart_fragments', array( $this, 'cart_link_fragment' ), 11 ); } add_filter( 'woocommerce_subcategory_count_html', array( $this, 'subcategory_count_markup' ), 10, 2 ); add_action( 'customize_register', array( $this, 'customize_register' ), 2 ); add_filter( 'woocommerce_get_stock_html', 'astra_woo_product_in_stock', 10, 2 ); add_filter( 'astra_schema_body', array( $this, 'remove_body_schema' ) ); // Header Cart Icon. add_action( 'astra_woo_header_cart_icons_before', array( $this, 'header_cart_icon_markup' ) ); add_action( 'astra_cart_in_menu_class', array( $this, 'header_cart_icon_class' ), 99 ); // WooCommerce Store Notice. add_filter( 'woocommerce_demo_store', array( $this, 'astra_woocommerce_update_store_notice_atts' ) ); add_filter( 'astra_dynamic_theme_css', array( $this, 'astra_woocommerce_store_dynamic_css' ) ); // Single Product Free shipping. add_action( 'astra_woo_single_price_after', array( $this, 'woocommerce_shipping_text' ) ); // Register Dynamic Sidebars. if ( is_customize_preview() ) { add_action( 'widgets_init', array( $this, 'store_widgets_dynamic' ), 15 ); add_action( 'wp', array( $this, 'store_widgets_dynamic' ), 15 ); } else { add_action( 'widgets_init', array( $this, 'store_widgets_dynamic' ), 15 ); } add_filter( 'woocommerce_cart_item_remove_link', array( $this, 'change_cart_close_icon' ), 10, 2 ); add_action( 'wp', array( $this, 'woocommerce_proceed_to_checkout_button' ) ); if ( self::load_theme_side_woocommerce_strcture() ) { // Remove Default actions. remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); /* Add single product content */ add_action( 'woocommerce_single_product_summary', array( $this, 'single_product_content_structure' ), 10 ); } add_action( 'admin_bar_menu', array( $this, 'astra_update_customize_admin_bar_link' ), 45 ); if ( self::load_theme_side_woocommerce_strcture() ) { // Sticky add to cart. add_action( 'wp_footer', array( $this, 'single_product_sticky_add_to_cart' ) ); add_filter( 'post_class', array( $this, 'post_class' ) ); } if ( ! defined( 'ASTRA_EXT_VER' ) || ( defined( 'ASTRA_EXT_VER' ) && ! Astra_Ext_Extension::is_active( 'woocommerce' ) ) ) { add_filter( 'woocommerce_sale_flash', array( $this, 'sale_flash' ), 10, 3 ); add_action( 'woocommerce_after_shop_loop_item', array( $this, 'add_modern_triggers_on_image' ), 5 ); } add_filter( 'render_block_woocommerce/active-filters', array( $this, 'add_active_filter_widget_class' ), 10, 2 ); add_filter( 'option_woocommerce_enable_ajax_add_to_cart', array( $this, 'option_woocommerce_enable_ajax_add_to_cart' ) ); add_filter( 'option_woocommerce_cart_redirect_after_add', array( $this, 'option_woocommerce_cart_redirect_after_add' ) ); } /** * Add active filter widget class when "chip" toggle enabled. * * @since 3.9.4 * * @param string $block_content Rendered block content. * @param array $block Block object. * * @return string Active filter block content. */ public function add_active_filter_widget_class( $block_content, $block ) { if ( isset( $block['blockName'] ) && isset( $block['attrs']['displayStyle'] ) && 'chips' === $block['attrs']['displayStyle'] ) { $block_content = preg_replace( '/' . preg_quote( 'class="', '/' ) . '/', 'class="ast-woo-active-filter-widget ', $block_content, 1 ); } return $block_content; } /** * As WooCommerce-Astra pro options moved to theme, decide here to load from theme's end after 3.9.2 version. * * @since 3.9.2 * @return bool true|false. */ public static function load_theme_side_woocommerce_strcture() { return ! defined( 'ASTRA_EXT_VER' ) || astra_addon_check_version( '3.9.2', '>=' ); } /** * Post Class * * @param array $classes Default argument array. * @return array */ public function post_class( $classes ) { if ( is_shop() || is_product_taxonomy() || ( post_type_exists( 'product' ) && 'product' === get_post_type() ) ) { // Shop page summary box alignment. $shop_product_alignment = astra_get_option( 'shop-product-align-responsive' ); $desktop_alignment = ( isset( $shop_product_alignment['desktop'] ) ) ? $shop_product_alignment['desktop'] : ''; $tablet_alignment = ( isset( $shop_product_alignment['tablet'] ) ) ? $shop_product_alignment['tablet'] : ''; $mobile_alignment = ( isset( $shop_product_alignment['mobile'] ) ) ? $shop_product_alignment['mobile'] : ''; $classes[] = 'desktop-' . esc_attr( $desktop_alignment ); $classes[] = 'tablet-' . esc_attr( $tablet_alignment ); $classes[] = 'mobile-' . esc_attr( $mobile_alignment ); } return $classes; } /** * Modern Design Add to cart Markup * * @since 3.9.2 * @return mixed HTML markup. */ public function modern_add_to_cart() { global $product; $markup = ''; // Product link markup. $header_woo_cart = astra_get_option( 'woo-header-cart-icon', 'default' ); $cart_icon = ( true === Astra_Icons::is_svg_icons() ) ? Astra_Icons::get_icons( 'default' === $header_woo_cart ? 'bag' : $header_woo_cart ) : Astra_Builder_UI_Controller::fetch_svg_icon( 'shopping-' . $header_woo_cart, false ); $classes = implode( ' ', array_filter( array( 'ast-on-card-button', 'ast-select-options-trigger', 'product_type_' . $product->get_type(), $product->is_purchasable() && $product->is_in_stock() ? 'add_to_cart_button' : '', $product->supports( 'ajax_add_to_cart' ) && $product->is_purchasable() && $product->is_in_stock() ? 'ajax_add_to_cart' : '', ) ) ); $attributes = array( 'data-product_id' => $product->get_id(), 'data-product_sku' => $product->get_sku(), 'aria-label' => $product->add_to_cart_description(), 'rel' => 'nofollow', ); $markup .= sprintf( '<a href="%s" data-quantity="%s" class="%s" %s> <span class="ast-card-action-tooltip"> %s </span> <span class="ahfb-svg-iconset"> %s </span> </a>', esc_url( $product->add_to_cart_url() ), esc_attr( 1 ), esc_attr( $classes ), wc_implode_html_attributes( $attributes ), esc_html( $product->add_to_cart_text() ), $cart_icon ); return $markup; } /** * Modern shop page's triggers on product image. * * @since 3.9.2 */ public function add_modern_triggers_on_image() { /** @psalm-suppress UndefinedFunction */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( astra_is_shop_page_modern_style() ) { /** @psalm-suppress InvalidGlobal */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort global $product; $markup = ''; // Sale bubble markup. if ( $product->is_on_sale() ) { $markup .= $this->get_sale_flash_markup( 'default', $product ); } $markup .= $this->modern_add_to_cart(); /** @psalm-suppress TooManyArguments */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $html = apply_filters( 'astra_addon_shop_cards_buttons_html', $markup, $product ); /** @psalm-suppress TooManyArguments */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort echo do_shortcode( $html ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } /** * Astra Sale flash markup. * * @param string $sale_notification sale bubble type. * @param string $product Product. * @since 3.9.2 * @return mixed HTML markup. */ public function get_sale_flash_markup( $sale_notification, $product ) { $text = __( 'Sale!', 'astra' ); // Default text. // CSS classes. $classes = array(); /** @psalm-suppress UndefinedFunction */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $classes[] = ( astra_is_shop_page_modern_style() ) ? 'ast-on-card-button ast-onsale-card' : 'onsale'; /** @psalm-suppress UndefinedFunction */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $classes = implode( ' ', $classes ); // Generate markup. return '<span ' . astra_attr( 'woo-sale-badge-container', array( 'class' => $classes, 'data-sale' => array(), 'data-notification' => 'default', ) ) . '>' . esc_html( $text ) . '</span>'; } /** * Sale bubble flash * * @param mixed $markup HTML markup of the the sale bubble / flash. * @param string $post Post. * @param string $product Product. * @since 3.9.2 * @return string bubble markup. */ public function sale_flash( $markup, $post, $product ) { /** @psalm-suppress UndefinedFunction */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( ( ! is_singular( 'product' ) && astra_is_shop_page_modern_style() ) ) { /** @psalm-suppress UndefinedFunction */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort return ''; } return $this->get_sale_flash_markup( 'default', $product ); } /** * Change cart close icon. * * @since 3.9.0 * * @param string $string Close button html. * * @return string $string Close button html. */ public function change_cart_close_icon( $string ) { $string = str_replace( '×', Astra_Builder_UI_Controller::fetch_svg_icon( 'close', false ), $string ); return $string; } /** * Dynamic Store widgets. */ public function store_widgets_dynamic() { $shop_filter_array = array( 'name' => esc_html__( 'WooCommerce Sidebar', 'astra' ), 'id' => 'astra-woo-shop-sidebar', 'description' => __( 'This sidebar will be used on Product archive, Cart, Checkout and My Account pages.', 'astra' ), 'before_widget' => '<div id="%1$s" class="ast-woo-sidebar-widget widget %2$s">', 'after_widget' => '</div>', ); /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( astra_has_pro_woocommerce_addon() && astra_get_option( 'shop-filter-accordion' ) ) { $shop_filter_array['before_title'] = '<h2 class="widget-title">'; $shop_filter_array['after_title'] = Astra_Builder_UI_Controller::fetch_svg_icon( 'angle-down', false ) . '</h2>'; $shop_filter_array['before_sidebar'] = '<div class="ast-accordion-layout ast-filter-wrap">'; $shop_filter_array['after_sidebar'] = '</div>'; } else { $shop_filter_array['before_title'] = '<h2 class="widget-title">'; $shop_filter_array['after_title'] = '</h2>'; $shop_filter_array['before_sidebar'] = '<div class="ast-filter-wrap">'; $shop_filter_array['after_sidebar'] = '</div>'; } register_sidebar( apply_filters( 'astra_woocommerce_shop_sidebar_init', $shop_filter_array ) ); } /** * Update WooCommerce store notice. Extending this function to add custom data-attr as per Astra's configuration. * * @since 3.9.0 * * @param string $notice Store notice markup. * @return string $notice Store notice markup. */ public function astra_woocommerce_update_store_notice_atts( $notice ) { $store_notice_position = astra_get_option( 'store-notice-position' ); $notice = str_replace( 'data-notice-id', 'data-position="' . $store_notice_position . '" data-notice-id', $notice ); return $notice; } /** * Adds shipping text after price. * * @since 3.9.0 */ public function woocommerce_shipping_text() { if ( astra_get_option( 'single-product-enable-shipping' ) ) { $shipping_text = astra_get_i18n_option( 'single-product-shipping-text', _x( '%astra%', 'WooCommerce Single Product: Shipping Text', 'astra' ), false ); /** @psalm-suppress RedundantCondition */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( false !== $shipping_text ) { echo ' <span class="ast-shipping-text">' . esc_html( $shipping_text ) . '</span>'; } } } /** * Dynamic CSS for store notice config. * * @since 3.9.0 * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * * @return string $dynamic_css Generated dynamic CSS for WooCommerce store. */ public function astra_woocommerce_store_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { if ( is_checkout() ) { $checkout_compatibility_css = ' .wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button, .wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button:hover, .wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button:focus { background: transparent; color: inherit; font-family: inherit; font-size: inherit; line-height: inherit; font-weight: inherit; padding: inherit; } '; $dynamic_css .= $checkout_compatibility_css; } if ( false === is_store_notice_showing() ) { return $dynamic_css; } $store_notice_color = astra_get_option( 'store-notice-text-color' ); $store_notice_bg_color = astra_get_option( 'store-notice-background-color' ); /** * WooCommerce store CSS. */ $css_output_desktop = array( 'body p.demo_store, body .woocommerce-store-notice, body p.demo_store a, body .woocommerce-store-notice a' => array( 'color' => esc_attr( $store_notice_color ), 'background-color' => esc_attr( $store_notice_bg_color ), 'transition' => 'none', ), ); // Checking if the store notice is hidden or not! $notice_hidden = false; if ( ! is_customize_preview() ) { $notice = get_option( 'woocommerce_demo_store_notice' ); if ( empty( $notice ) ) { $notice = __( 'This is a demo store for testing purposes — no orders shall be fulfilled.', 'astra' ); } // deepcode ignore InsecureHash: WooCommerce uses the md5 function to generate the store notice ID. This is an acceptable risk due to the WooCommerce dependency. $notice_id = md5( $notice ); $notice_hidden = isset( $_COOKIE[ "store_notice{$notice_id}" ] ) && 'hidden' === $_COOKIE[ "store_notice{$notice_id}" ]; } if ( ! $notice_hidden && 'hang-over-top' === astra_get_option( 'store-notice-position' ) ) { $css_output_desktop['.ast-woocommerce-store-notice-hanged'] = array( 'margin-top' => '57px', ); } /* Parse CSS from array() */ $dynamic_css .= astra_parse_css( $css_output_desktop ); if ( is_user_logged_in() ) { $admin_bar_desktop_css = array( '.admin-bar .demo_store[data-position="top"], .admin-bar .demo_store[data-position="hang-over-top"]' => array( 'top' => '32px', ), ); /* Min width 763px because below to this point admin-bar height converts to 46px. */ $dynamic_css .= astra_parse_css( $admin_bar_desktop_css, '783' ); $admin_bar_responsive_css = array( '.admin-bar .demo_store[data-position="top"], .admin-bar .demo_store[data-position="hang-over-top"]' => array( 'top' => '46px', ), ); /* Max width 762px because below to this point admin-bar height converts to 46px. */ $dynamic_css .= astra_parse_css( $admin_bar_responsive_css, '', '782' ); } return $dynamic_css; } /** * Header Cart icon * * @param string $cart_total_label_position Cart total label position. * @param string $cart_label_markup Cart label markup. * @param string $cart_info_markup Cart info markup. * @param string $cart_icon Cart icon. * @return void */ public function svg_cart_icon( $cart_total_label_position, $cart_label_markup, $cart_info_markup, $cart_icon ) { // Remove Default cart icon added by theme. add_filter( 'astra_woo_default_header_cart_icon', '__return_false' ); /* translators: 1: Cart Title Markup, 2: Cart Icon Markup */ /** @psalm-suppress InvalidArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort printf( '<div class="ast-addon-cart-wrap ast-desktop-cart-position-%1$s ast-cart-mobile-position-%2$s ast-cart-tablet-position-%3$s "> %4$s %5$s </div>', ( $cart_total_label_position['desktop'] ) ? $cart_total_label_position['desktop'] : '', // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ( $cart_total_label_position['mobile'] ) ? $cart_total_label_position['mobile'] : '', // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ( $cart_total_label_position['tablet'] ) ? $cart_total_label_position['tablet'] : '', // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ( '' !== $cart_label_markup ) ? $cart_info_markup : '', // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ( $cart_icon ) ? $cart_icon : '' // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ); } /** * Header Cart Extra Icons markup * * @return void; */ public function header_cart_icon_markup() { $woo_cart_icon_new_user = astra_get_option( 'astra-woocommerce-cart-icons-flag', true ); /** @psalm-suppress DocblockTypeContradiction */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( apply_filters( 'astra_woocommerce_cart_icon', $woo_cart_icon_new_user ) ) { if ( false === Astra_Builder_Helper::$is_header_footer_builder_active ) { return; } } else { if ( false === Astra_Builder_Helper::$is_header_footer_builder_active && ! defined( 'ASTRA_EXT_VER' ) ) { return; } } $defaults = apply_filters( 'astra_woocommerce_cart_icon', $woo_cart_icon_new_user ) ? 'bag' : 'default'; $icon = astra_get_option( 'woo-header-cart-icon', $defaults ); $cart_count_display = apply_filters( 'astra_header_cart_count', true ); $cart_title = apply_filters( 'astra_header_cart_title', __( 'Cart', 'astra' ) ); $cart_title_markup = '<span class="ast-woo-header-cart-title">' . esc_html( $cart_title ) . '</span>'; $cart_total_label_position = astra_get_option( 'woo-header-cart-icon-total-label-position' ); $cart_total_markup = ''; $cart_total_only_markup = ''; /** @psalm-suppress RedundantConditionGivenDocblockType */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $cart_check_total = astra_get_option( 'woo-header-cart-total-label' ) && null !== WC()->cart ? intval( WC()->cart->get_cart_contents_total() ) > 0 : true; /** @psalm-suppress RedundantConditionGivenDocblockType */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( null !== WC()->cart ) { if ( $cart_check_total ) { $cart_total_markup = '<span class="ast-woo-header-cart-total">' . WC()->cart->get_cart_subtotal() . '</span>'; $cart_total_only_markup = '<span class="ast-woo-header-cart-total-only">' . WC()->cart->get_cart_contents_total() . '</span>'; } } $cart_cur_name_markup = ''; if ( function_exists( 'get_woocommerce_currency' ) && $cart_check_total ) { $cart_cur_name_markup = '<span class="ast-woo-header-cart-cur-name">' . get_woocommerce_currency() . '</span>'; } $cart_cur_sym_markup = ''; if ( function_exists( 'get_woocommerce_currency_symbol' ) && $cart_check_total ) { $cart_cur_sym_markup = '<span class="ast-woo-header-cart-cur-symbol">' . get_woocommerce_currency_symbol() . '</span>'; } $display_cart_label = astra_get_i18n_option( 'woo-header-cart-label-display', _x( '%astra%', 'Header Builder: Cart Widget - Cart Label', 'astra' ) ); $shortcode_label = array( '{cart_total_currency_symbol}', '{cart_title}', '{cart_total}', '{cart_currency_name}', '{cart_currency_symbol}' ); $shortcode_label_value = array( $cart_total_markup, $cart_title_markup, $cart_total_only_markup, $cart_cur_name_markup, $cart_cur_sym_markup ); $cart_label_markup = ''; $cart_label_markup = str_replace( $shortcode_label, $shortcode_label_value, $display_cart_label ); // Cart Title & Cart Cart total markup. $cart_info_markup = sprintf( '<span class="ast-woo-header-cart-info-wrap"> %1$s </span>', $cart_label_markup ); $cart_contents_count = 0; if ( null !== WC()->cart ) { $cart_contents_count = WC()->cart->get_cart_contents_count(); } // Cart Icon markup with total number of items. $cart_icon = sprintf( '<i class="astra-icon ast-icon-shopping-%1$s %2$s" %3$s >%4$s</i>', ( $icon ) ? $icon : '', ( $cart_count_display ) ? '' : 'no-cart-total', ( $cart_count_display ) ? 'data-cart-total="' . $cart_contents_count . '"' : '', ( $icon ) ? ( ( false !== Astra_Icons::is_svg_icons() ) ? Astra_Icons::get_icons( $icon ) : '' ) : '' ); // Theme's default icon with cart title and cart total. /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( 'default' === $icon ) { // Cart Total or Cart Title enable then only add markup. if ( '' !== $cart_label_markup ) { echo $cart_info_markup; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } else { self::svg_cart_icon( $cart_total_label_position, $cart_label_markup, $cart_info_markup, $cart_icon ); } } /** * Header Cart Icon Class * * @param array $classes Default argument array. * * @return array; */ public function header_cart_icon_class( $classes ) { if ( false === Astra_Builder_Helper::$is_header_footer_builder_active && ! defined( 'ASTRA_EXT_VER' ) ) { return $classes; } $header_cart_icon_style = astra_get_option( 'woo-header-cart-icon-style' ); $classes[] = 'ast-menu-cart-' . $header_cart_icon_style; $header_cart_icon_has_color = astra_get_option( 'woo-header-cart-icon-color' ); if ( ! empty( $header_cart_icon_has_color ) && ( 'none' !== $header_cart_icon_style ) ) { $classes[] = 'ast-menu-cart-has-color'; } return $classes; } /** * Remove body schema when using WooCommerce template. * WooCommerce adds it's own product schema hence schema data from Astra should be disabled here. * * @since 1.8.0 * @param String $schema Schema markup. * @return String */ public function remove_body_schema( $schema ) { if ( is_woocommerce() ) { $schema = ''; } return $schema; } /** * Rating Markup * * @since 1.2.2 * @param string $html Rating Markup. * @param float $rating Rating being shown. * @param int $count Total number of ratings. * @return string */ public function rating_markup( $html, $rating, $count ) { /** @psalm-suppress InvalidGlobal */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $product = wc_get_product(); // Get the review count if the product exists, otherwise set it to 0 $review_count = $product ? $product->get_review_count() : 0; // Check if the rating is valid if ( $rating >= 0 ) { $html = '<div class="review-rating">'; $html .= '<div class="star-rating">'; $html .= wc_get_star_rating_html( $rating, $count ); $html .= '</div>'; if ( $review_count > 0 && astra_get_option( 'shop-ratings-product-archive' ) === 'count_string' && ! is_product() ) { $single_caption = __( ' review', 'astra' ); $plural_caption = __( ' reviews', 'astra' ); $counter_html = sprintf( _n( '<span class="count">%1$s</span>' . $single_caption, '<span class="count">%1$s</span>' . $plural_caption, $review_count, 'astra' ), $review_count ); $html .= '<div class="review-count">'; $html .= $counter_html; $html .= '</div>'; } $html .= '</div>'; } return $html; } /** * Cart Page Upselles products. * * @return void */ public function cart_page_upselles() { $upselles_enabled = astra_get_option( 'enable-cart-upsells' ); if ( ! $upselles_enabled ) { remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display' ); } } /** * Subcategory Count Markup * * @param array $styles Css files. * * @return array */ public function woo_filter_style( $styles ) { /* Directory and Extension */ $file_prefix = '.min'; $dir_name = 'minified'; $css_uri = ASTRA_THEME_URI . 'assets/css/' . $dir_name . '/compatibility/woocommerce/'; // Register & Enqueue Styles. // Generate CSS URL. if ( ! Astra_Builder_Helper::apply_flex_based_css() ) { $styles = array( 'woocommerce-layout' => array( 'src' => $css_uri . 'woocommerce-layout' . $file_prefix . '.css', 'deps' => '', 'version' => ASTRA_THEME_VERSION, 'media' => 'all', 'has_rtl' => true, ), 'woocommerce-smallscreen' => array( 'src' => $css_uri . 'woocommerce-smallscreen' . $file_prefix . '.css', 'deps' => 'woocommerce-layout', 'version' => ASTRA_THEME_VERSION, 'media' => 'only screen and (max-width: ' . apply_filters( 'woocommerce_style_smallscreen_breakpoint', astra_get_tablet_breakpoint() . 'px' ) . ')', // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound 'has_rtl' => true, ), 'woocommerce-general' => array( 'src' => $css_uri . 'woocommerce' . $file_prefix . '.css', 'deps' => '', 'version' => ASTRA_THEME_VERSION, 'media' => 'all', 'has_rtl' => true, ), ); } else { $styles = array( 'woocommerce-layout' => array( 'src' => $css_uri . 'woocommerce-layout-grid' . $file_prefix . '.css', 'deps' => '', 'version' => ASTRA_THEME_VERSION, 'media' => 'all', 'has_rtl' => true, ), 'woocommerce-smallscreen' => array( 'src' => $css_uri . 'woocommerce-smallscreen-grid' . $file_prefix . '.css', 'deps' => 'woocommerce-layout', 'version' => ASTRA_THEME_VERSION, 'media' => 'only screen and (max-width: ' . apply_filters( 'woocommerce_style_smallscreen_breakpoint', astra_get_tablet_breakpoint() . 'px' ) . ')', // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound 'has_rtl' => true, ), 'woocommerce-general' => array( 'src' => $css_uri . 'woocommerce-grid' . $file_prefix . '.css', 'deps' => '', 'version' => ASTRA_THEME_VERSION, 'media' => 'all', 'has_rtl' => true, ), ); } if ( is_product() && astra_get_option( 'single-product-sticky-add-to-cart' ) ) { $styles['sticky-add-to-cart'] = array( 'src' => $css_uri . 'sticky-add-to-cart' . $file_prefix . '.css', 'deps' => '', 'version' => ASTRA_THEME_VERSION, 'media' => 'all', 'has_rtl' => true, ); } // Check if the current post/page content contains the WooCommerce Cart or Checkout block. if ( has_block( 'woocommerce/cart' ) || has_block( 'woocommerce/checkout' ) ) { $styles['astra-woocommerce-blocks'] = array( 'src' => $css_uri . 'woocommerce-blocks' . $file_prefix . '.css', 'deps' => '', 'version' => ASTRA_THEME_VERSION, 'media' => 'all', 'has_rtl' => true, ); } return $styles; } /** * Subcategory Count Markup * * @param mixed $content Count Markup. * @param object $category Object of Category. * @return mixed */ public function subcategory_count_markup( $content, $category ) { $content = sprintf( // WPCS: XSS OK. /* translators: 1: number of products */ _nx( '%1$s Product', '%1$s Products', $category->count, 'product categories', 'astra' ), number_format_i18n( $category->count ) ); return '<mark class="count">' . $content . '</mark>'; } /** * Theme Defaults. * * @param array $defaults Array of options value. * @return array */ public function theme_defaults( $defaults ) { $theme_options = get_option( 'astra-settings' ); // Backward compatibility. $defaults['astra-woocommerce-cart-icons-flag'] = true; // Container. $defaults['woocommerce-ast-content-layout'] = 'normal-width-container'; $defaults['archive-product-content-layout'] = 'default'; $defaults['single-product-content-layout'] = 'default'; // Content Style. $defaults['woocommerce-content-style'] = 'unboxed'; $defaults['woocommerce-sidebar-style'] = 'unboxed'; // Sidebar. $defaults['woocommerce-sidebar-layout'] = 'no-sidebar'; $defaults['archive-product-sidebar-layout'] = 'default'; $defaults['single-product-sidebar-layout'] = 'default'; /* Shop */ $defaults['shop-grids'] = array( 'desktop' => 4, 'tablet' => 3, 'mobile' => 2, ); $defaults['shop-no-of-products'] = '12'; $defaults['shop-product-structure'] = array( 'category', 'title', 'ratings', 'price', 'add_cart', ); $defaults['shop-hover-style'] = ''; /* Single */ $defaults['single-product-breadcrumb-disable'] = true; $defaults['single-product-cart-button-width'] = array( 'desktop' => '', 'tablet' => '', 'mobile' => '', ); /* Cart */ $defaults['enable-cart-upsells'] = true; /* Store Notice */ $defaults['store-notice-text-color'] = ''; $defaults['store-notice-background-color'] = ''; $defaults['store-notice-position'] = 'top'; $defaults['shop-archive-width'] = 'default'; $defaults['shop-archive-max-width'] = 1200; $defaults['shop-add-to-cart-action'] = 'default'; /* Free shipping */ $defaults['single-product-tabs-display'] = false; $defaults['single-product-shipping-text'] = __( '& Free Shipping', 'astra' ); $defaults['single-product-variation-tabs-layout'] = 'vertical'; /* Cart button*/ $defaults['woo-enable-cart-button-text'] = false; $defaults['woo-cart-button-text'] = __( 'Proceed to checkout', 'astra' ); /* Single product */ $defaults['single-product-structure'] = array( 'category', 'title', 'ratings', 'price', 'short_desc', 'add_cart', 'meta', ); // Sticky add to cart. $defaults['single-product-sticky-add-to-cart'] = false; $defaults['single-product-sticky-add-to-cart-position'] = 'top'; $defaults['shop-ratings-product-archive'] = 'default'; /* Shop alignment */ $defaults['shop-product-align-responsive'] = array( 'desktop' => 'align-left', 'tablet' => 'align-left', 'mobile' => 'align-left', ); /* Hide cart label */ $defaults['woo-header-cart-total-label'] = false; /* Shop style */ $defaults['shop-style'] = isset( $theme_options['woo-shop-style-flag'] ) && $theme_options['woo-shop-style-flag'] ? 'shop-page-grid-style' : 'shop-page-modern-style'; $defaults['woo-header-cart-product-count-color'] = ''; $defaults['woo-header-cart-product-count-h-color'] = ''; // Add to cart Plus minus button type. $defaults['single-product-plus-minus-button'] = astra_has_pro_woocommerce_addon() ? true : false; $defaults['cart-plus-minus-button-type'] = 'normal'; // Single Product Payments. $defaults['single-product-payment-icon-color'] = 'inherit'; $defaults['single-product-payment-text'] = __( 'Guaranteed Safe Checkout', 'astra' ); $defaults['single-product-payment-list'] = array( 'items' => array( array( 'id' => 'item-1', 'enabled' => true, 'source' => 'icon', 'icon' => 'cc-visa', 'image' => '', 'label' => __( 'Visa', 'astra' ), ), array( 'id' => 'item-2', 'enabled' => true, 'source' => 'icon', 'icon' => 'cc-mastercard', 'image' => '', 'label' => __( 'Mastercard', 'astra' ), ), array( 'id' => 'item-3', 'enabled' => true, 'source' => 'icon', 'icon' => 'cc-amex', 'image' => '', 'label' => __( 'Amex', 'astra' ), ), array( 'id' => 'item-4', 'enabled' => true, 'source' => 'icon', 'icon' => 'cc-discover', 'image' => '', 'label' => __( 'Discover', 'astra' ), ), ), ); return $defaults; } /** * Update Shop page grid * * @param int $col Shop Column. * @return int */ public function shop_columns( $col ) { $astra_shop_col = astra_get_option( 'shop-grids', array( 'desktop' => 4, 'tablet' => 3, 'mobile' => 2, ) ); return $astra_shop_col['desktop']; } /** * Check if the current page is a Product Subcategory page or not. * * @param integer $category_id Current page Category ID. * @return boolean */ public function astra_woo_is_subcategory( $category_id = null ) { if ( is_tax( 'product_cat' ) ) { if ( empty( $category_id ) ) { $category_id = get_queried_object_id(); } $category = get_term( get_queried_object_id(), 'product_cat' ); if ( empty( $category->parent ) ) { return false; } return true; } return false; } /** * Update Shop page grid * * @return int */ public function shop_no_of_products() { $taxonomy_page_display = get_option( 'woocommerce_category_archive_display', false ); if ( is_product_taxonomy() && 'subcategories' === $taxonomy_page_display ) { $products = astra_get_option( 'shop-no-of-products' ); if ( $this->astra_woo_is_subcategory() ) { return $products; } elseif ( is_product_taxonomy() ) { return $products; } $products = wp_count_posts( 'product' )->publish; } else { $products = astra_get_option( 'shop-no-of-products' ); } return $products; } /** * Add products item class on shop page * * @param Array $classes product classes. * * @return array. */ public function shop_page_products_item_class( $classes = '' ) { if ( is_shop() || is_product_taxonomy() ) { $shop_grid = astra_get_option( 'shop-grids', array( 'desktop' => 4, 'tablet' => 3, 'mobile' => 2, ) ); $classes[] = 'columns-' . $shop_grid['desktop']; $classes[] = 'tablet-columns-' . $shop_grid['tablet']; $classes[] = 'mobile-columns-' . $shop_grid['mobile']; $classes[] = 'ast-woo-shop-archive'; } // Cart menu is emabled. $rt_section = astra_get_option( 'header-main-rt-section' ); if ( 'woocommerce' === $rt_section ) { $classes[] = 'ast-woocommerce-cart-menu'; } if ( is_store_notice_showing() && 'hang-over-top' === astra_get_option( 'store-notice-position' ) ) { $classes[] = 'ast-woocommerce-store-notice-hanged'; } return $classes; } /** * Get grid columns for either Archive|Single product. * Introducing this function to reduce lot of CSS we write for 'grid-template-columns' for every count (till 6). * * @param string $type - WooCommerce page type Archive/Single. * @param string $device - Device specific grid option. * @param int $default - Default grid count (fallback basically). * * @return int grid count. * @since 3.4.3 */ public function get_grid_column_count( $type = 'archive', $device = 'desktop', $default = 2 ) { if ( 'archive' === $type ) { $products_grid = astra_get_option( 'shop-grids', array( 'desktop' => 4, 'tablet' => 3, 'mobile' => 2, ) ); } else { $products_grid = astra_get_option( 'single-product-related-upsell-grid' ); } return isset( $products_grid[ $device ] ) ? absint( $products_grid[ $device ] ) : $default; } /** * Add class on single product page * * @param Array $classes product classes. * * @return array. */ public function single_product_class( $classes ) { if ( is_product() && 0 == get_post_meta( get_the_ID(), '_wc_review_count', true ) ) { $classes[] = 'ast-woo-product-no-review'; } return $classes; } /** * Update woocommerce related product numbers * * @param array $args Related products array. * @return array */ public function related_products_args( $args ) { $col = astra_get_option( 'shop-grids', array( 'desktop' => 4, 'tablet' => 3, 'mobile' => 2, ) ); $args['posts_per_page'] = $col['desktop']; return $args; } /** * Setup theme * * @since 1.0.3 */ public function setup_theme() { // WooCommerce. add_theme_support( 'wc-product-gallery-zoom' ); add_theme_support( 'wc-product-gallery-lightbox' ); add_theme_support( 'wc-product-gallery-slider' ); } /** * Store widgets init. */ public function store_widgets_init() { register_sidebar( apply_filters( 'astra_woocommerce_shop_sidebar_init', array( 'name' => esc_html__( 'WooCommerce Sidebar', 'astra' ), 'id' => 'astra-woo-shop-sidebar', 'description' => __( 'This sidebar will be used on Product archive, Cart, Checkout and My Account pages.', 'astra' ), 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ) ); register_sidebar( apply_filters( 'astra_woocommerce_single_sidebar_init', array( 'name' => esc_html__( 'Product Sidebar', 'astra' ), 'id' => 'astra-woo-single-sidebar', 'description' => __( 'This sidebar will be used on Single Product page.', 'astra' ), 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ) ); } /** * Assign shop sidebar for store page. * * @param String $sidebar Sidebar. * * @return String $sidebar Sidebar. */ public function replace_store_sidebar( $sidebar ) { if ( is_shop() || is_product_taxonomy() || is_checkout() || is_cart() || is_account_page() ) { $sidebar = 'astra-woo-shop-sidebar'; } elseif ( is_product() ) { $sidebar = 'astra-woo-single-sidebar'; } return $sidebar; } /** * WooCommerce Container * * @param String $sidebar_layout Layout type. * * @return String $sidebar_layout Layout type. */ public function store_sidebar_layout( $sidebar_layout ) { if ( is_shop() || is_product_taxonomy() || is_checkout() || is_cart() || is_account_page() || is_product() ) { $woo_sidebar = astra_get_option( 'woocommerce-sidebar-layout' ); $astra_with_modern_ecommerce = astra_get_option( 'modern-ecommerce-setup', true ); if ( 'default' !== $woo_sidebar ) { $sidebar_layout = $woo_sidebar; } $global_page_specific_layout = 'default'; if ( is_shop() || is_product_taxonomy() ) { $global_page_specific_layout = astra_get_option( 'archive-product-sidebar-layout', 'default' ); } if ( is_product() ) { $single_product_fallback_sidebar = ( false === $astra_with_modern_ecommerce ) ? astra_get_option( 'site-sidebar-layout' ) : astra_get_option( 'woocommerce-sidebar-layout' ); $single_product_sidebar = astra_get_option( 'single-product-sidebar-layout', 'default' ); $global_page_specific_layout = 'default' === $single_product_sidebar ? $single_product_fallback_sidebar : $single_product_sidebar; } if ( 'default' !== $global_page_specific_layout ) { $sidebar_layout = $global_page_specific_layout; } if ( is_shop() ) { $shop_page_id = get_option( 'woocommerce_shop_page_id' ); $shop_sidebar = get_post_meta( $shop_page_id, 'site-sidebar-layout', true ); } elseif ( is_product_taxonomy() ) { $shop_sidebar = 'default'; } else { $shop_sidebar = astra_get_option_meta( 'site-sidebar-layout', '', true ); } if ( 'default' !== $shop_sidebar && ! empty( $shop_sidebar ) ) { $sidebar_layout = $shop_sidebar; } } return apply_filters( 'astra_get_store_sidebar_layout', $sidebar_layout ); } /** * WooCommerce Container * * @param String $layout Layout type. * * @return String $layout Layout type. */ public function store_content_layout( $layout ) { if ( is_woocommerce() || is_checkout() || is_cart() || is_account_page() ) { $woo_layout = astra_toggle_layout( 'woocommerce-ast-content-layout', 'global', false ); // If not default override with woocommerce global container settings. if ( 'default' !== $woo_layout ) { $layout = $woo_layout; } $global_page_specific_layout = 'default'; if ( is_shop() || is_product_taxonomy() ) { $global_page_specific_layout = astra_toggle_layout( 'archive-product-ast-content-layout', 'archive', false ); } if ( is_product() ) { $global_page_specific_layout = astra_toggle_layout( 'single-product-ast-content-layout', 'single', false ); } // If page specific is not default, overide with page specific layout. if ( 'default' !== $global_page_specific_layout ) { $layout = $global_page_specific_layout; } if ( is_shop() ) { $shop_page_id = get_option( 'woocommerce_shop_page_id' ); $shop_layout = astra_toggle_layout( 'ast-site-content-layout', 'meta', $shop_page_id ); } elseif ( is_product_taxonomy() ) { $shop_layout = 'default'; } else { $old_meta_layout = astra_get_option_meta( 'site-content-layout', '', true ); if ( isset( $old_meta_layout ) ) { $shop_layout = astra_toggle_layout( 'ast-site-content-layout', 'meta', false, $old_meta_layout ); } else { $shop_layout = astra_toggle_layout( 'ast-site-content-layout', 'meta', false ); } } // If meta is not default, overide with meta container layout settings. if ( 'default' !== $shop_layout && ! empty( $shop_layout ) ) { $layout = $shop_layout; } } return apply_filters( 'astra_get_store_content_layout', $layout ); } /** * Shop Page Meta * * @return void */ public function shop_meta_option() { // Page Title. if ( is_shop() ) { $shop_page_id = get_option( 'woocommerce_shop_page_id' ); $shop_title = get_post_meta( $shop_page_id, 'site-post-title', true ); $main_header_display = get_post_meta( $shop_page_id, 'ast-main-header-display', true ); $footer_layout = get_post_meta( $shop_page_id, 'footer-sml-layout', true ); if ( 'disabled' === $shop_title ) { add_filter( 'woocommerce_show_page_title', '__return_false' ); } if ( 'disabled' === $main_header_display ) { remove_action( 'astra_masthead', 'astra_masthead_primary_template' ); } if ( 'disabled' === $footer_layout ) { remove_action( 'astra_footer_content', 'astra_footer_small_footer_template', 5 ); } } } /** * Shop customization. * * @return void */ public function shop_customization() { if ( ! apply_filters( 'astra_woo_shop_product_structure_override', false ) ) { add_action( 'woocommerce_before_shop_loop_item', 'astra_woo_shop_thumbnail_wrap_start', 6 ); /** * Add sale flash before shop loop. */ add_action( 'woocommerce_before_shop_loop_item', 'woocommerce_show_product_loop_sale_flash', 9 ); add_action( 'woocommerce_after_shop_loop_item', 'astra_woo_shop_thumbnail_wrap_end', 8 ); /** * Add Out of Stock to the Shop page */ add_action( 'woocommerce_shop_loop_item_title', 'astra_woo_shop_out_of_stock', 8 ); remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); /** * Shop Page Product Content Sorting */ add_action( 'woocommerce_after_shop_loop_item', 'astra_woo_woocommerce_shop_product_content' ); } } /** * Checkout customization. * * @return void */ public function woocommerce_checkout() { if ( is_admin() ) { return; } if ( ! apply_filters( 'astra_woo_shop_product_structure_override', false ) ) { /** * Checkout Page */ add_action( 'woocommerce_checkout_billing', array( WC()->checkout(), 'checkout_form_shipping' ) ); } // Checkout Page. remove_action( 'woocommerce_checkout_shipping', array( WC()->checkout(), 'checkout_form_shipping' ) ); } /** * Single product customization. * * @return void */ public function single_product_customization() { if ( ! is_product() ) { return; } add_filter( 'woocommerce_product_description_heading', '__return_false' ); add_filter( 'woocommerce_product_additional_information_heading', '__return_false' ); // Breadcrumb. remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 ); if ( astra_get_option( 'single-product-breadcrumb-disable' ) ) { add_action( 'woocommerce_single_product_summary', 'woocommerce_breadcrumb', 2 ); } } /** * Remove Woo-Commerce Default actions */ public function woocommerce_init() { add_action( 'woocommerce_after_mini_cart', array( $this, 'astra_update_flyout_cart_layout' ) ); remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 ); remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 ); remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 ); remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_rating', 5 ); remove_action( 'woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title', 10 ); remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 ); remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_show_product_loop_sale_flash', 10 ); } /** * Add start of wrapper */ public function before_main_content_start() { $site_sidebar = astra_page_layout(); if ( 'left-sidebar' == $site_sidebar ) { get_sidebar(); } ?> <div id="primary" class="content-area primary"> <?php astra_primary_content_top(); ?> <main id="main" class="site-main"> <div class="ast-woocommerce-container"> <?php } /** * Add end of wrapper */ public function before_main_content_end() { ?> </div> <!-- .ast-woocommerce-container --> </main> <!-- #main --> <?php astra_primary_content_bottom(); ?> </div> <!-- #primary --> <?php $site_sidebar = astra_page_layout(); if ( 'right-sidebar' == $site_sidebar ) { get_sidebar(); } } /** * Astra update default font size and font weight. * * @since 4.6.0 * @return boolean */ public static function astra_update_default_font_styling() { $astra_settings = get_option( ASTRA_THEME_SETTINGS ); return apply_filters( 'astra_default_font_style_update', isset( $astra_settings['ast-font-style-update'] ) ? false : true ); } /** * Enqueue styles * * @since 1.0.31 */ public function add_scripts_styles() { if ( is_cart() ) { wp_enqueue_script( 'wc-cart-fragments' ); // Require for cart widget update on the cart page. } /** * - Variable Declaration */ $is_site_rtl = is_rtl(); $theme_color = astra_get_option( 'theme-color' ); $link_color = astra_get_option( 'link-color', $theme_color ); $text_color = astra_get_option( 'text-color' ); $link_h_color = astra_get_option( 'link-h-color' ); $if_free_shipping = astra_get_option( 'single-product-enable-shipping' ); $single_product_heading_tab_active_color = astra_get_option( 'single-product-heading-tab-active-color' ); $global_palette = astra_get_option( 'global-color-palette' ); $ltr_left = $is_site_rtl ? 'right' : 'left'; $ltr_right = $is_site_rtl ? 'left' : 'right'; $icon_cart_color_slug = ''; $theme_btn_font_size = astra_get_option( 'font-size-button' ); $font_style_updates = self::astra_update_default_font_styling(); if ( false === Astra_Builder_Helper::$is_header_footer_builder_active ) { $icon_cart_color_slug = 'woo-header-cart-icon-color'; } else { $icon_cart_color_slug = 'header-woo-cart-icon-color'; } // Supporting color setting for default icon as well. $can_update_cart_color = astra_cart_color_default_icon_old_header(); $cart_new_color_setting = astra_get_option( $icon_cart_color_slug, $theme_color ); $header_cart_count_color = ( $can_update_cart_color ) ? $cart_new_color_setting : $theme_color; $btn_color = astra_get_option( 'button-color' ); if ( empty( $btn_color ) ) { $btn_color = astra_get_foreground_color( $theme_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' ); $theme_btn_padding = astra_get_option( 'theme-button-padding' ); $cart_h_color = astra_get_foreground_color( $link_h_color ); $site_content_width = astra_get_option( 'site-content-width', 1200 ); $woo_shop_archive_width = astra_get_option( 'shop-archive-width' ); $woo_shop_archive_max_width = astra_get_option( 'shop-archive-max-width' ); // global button border settings. $global_custom_button_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' ); $css_output = ''; $theme_color = astra_get_option( 'theme-color' ); $btn_color = astra_get_option( 'button-color' ); if ( empty( $btn_color ) ) { $btn_color = astra_get_foreground_color( $theme_color ); } // WooCommerce global button compatibility for new users only. $woo_btn_compatibility_desktop = array(); $woo_btn_compatibility_tablet = array(); $woo_btn_compatibility_mobile = array(); $astra_support_woo_btns_global = Astra_Dynamic_CSS::astra_woo_support_global_settings(); if ( $astra_support_woo_btns_global ) { $woo_btn_compatibility_desktop = astra_get_font_array_css( astra_get_option( 'font-family-button' ), astra_get_option( 'font-weight-button' ), $theme_btn_font_size, 'font-extras-button' ); $woo_btn_compatibility_tablet = array( 'font-size' => astra_get_font_css_value( $theme_btn_font_size['tablet'], $theme_btn_font_size['tablet-unit'] ), ); $woo_btn_compatibility_mobile = array( 'font-size' => astra_get_font_css_value( $theme_btn_font_size['mobile'], $theme_btn_font_size['mobile-unit'] ), ); } $css_desktop_output = array( '#customer_details h3:not(.elementor-widget-woocommerce-checkout-page h3)' => array( 'font-size' => $font_style_updates ? '' : '1.2rem', 'padding' => '20px 0 14px', 'margin' => '0 0 20px', 'border-bottom' => '1px solid var(--ast-border-color)', 'font-weight' => $font_style_updates ? '' : '700', ), 'form #order_review_heading:not(.elementor-widget-woocommerce-checkout-page #order_review_heading)' => array( 'border-width' => '2px 2px 0 2px', 'border-style' => 'solid', 'font-size' => $font_style_updates ? '' : '1.2rem', 'margin' => '0', 'padding' => '1.5em 1.5em 1em', 'border-color' => 'var(--ast-border-color)', 'font-weight' => $font_style_updates ? '' : '700', ), '.woocommerce-Address h3, .cart-collaterals h2' => array( 'font-size' => $font_style_updates ? '' : '1.2rem', 'padding' => '.7em 1em', ), '.woocommerce-cart .cart-collaterals .cart_totals>h2' => array( 'font-weight' => $font_style_updates ? '' : '700', ), 'form #order_review:not(.elementor-widget-woocommerce-checkout-page #order_review)' => array( 'padding' => '0 2em', 'border-width' => '0 2px 2px', 'border-style' => 'solid', 'border-color' => 'var(--ast-border-color)', ), 'ul#shipping_method li:not(.elementor-widget-woocommerce-cart #shipping_method li)' => array( 'margin' => '0', 'padding' => '0.25em 0 0.25em 22px', 'text-indent' => '-22px', 'list-style' => 'none outside', ), '.woocommerce span.onsale, .wc-block-grid__product .wc-block-grid__product-onsale' => array( 'background-color' => $theme_color, 'color' => astra_get_foreground_color( $theme_color ), ), '.woocommerce-message, .woocommerce-info' => array( 'border-top-color' => $link_color, ), '.woocommerce-message::before,.woocommerce-info::before' => array( 'color' => $link_color, ), '.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price, .widget_layered_nav_filters ul li.chosen a, .woocommerce-page ul.products li.product .ast-woo-product-category, .wc-layered-nav-rating a' => array( 'color' => $text_color, ), // Form Fields, Pagination border Color. '.woocommerce nav.woocommerce-pagination ul,.woocommerce nav.woocommerce-pagination ul li' => array( 'border-color' => $link_color, ), '.woocommerce nav.woocommerce-pagination ul li a:focus, .woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li span.current' => array( 'background' => $link_color, 'color' => $btn_color, ), '.woocommerce-MyAccount-navigation-link.is-active a' => array( 'color' => $link_h_color, ), '.woocommerce .widget_price_filter .ui-slider .ui-slider-range, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle' => array( 'background-color' => $link_color, ), '.woocommerce .star-rating, .woocommerce .comment-form-rating .stars a, .woocommerce .star-rating::before' => array( 'color' => 'var(--ast-global-color-3)', ), '.woocommerce div.product .woocommerce-tabs ul.tabs li.active:before, .woocommerce div.ast-product-tabs-layout-vertical .woocommerce-tabs ul.tabs li:hover::before' => array( 'background' => $single_product_heading_tab_active_color ? $single_product_heading_tab_active_color : $link_color, ), ); if ( false === Astra_Builder_Helper::$is_header_footer_builder_active ) { $compat_css_desktop = array( /** * Cart in menu */ '.ast-site-header-cart a' => array( 'color' => esc_attr( $text_color ), ), '.ast-site-header-cart a:focus, .ast-site-header-cart a:hover, .ast-site-header-cart .current-menu-item a' => array( 'color' => esc_attr( $link_color ), ), '.ast-cart-menu-wrap .count, .ast-cart-menu-wrap .count:after' => array( 'border-color' => esc_attr( $link_color ), 'color' => esc_attr( $link_color ), ), '.ast-cart-menu-wrap:hover .count' => array( 'color' => esc_attr( $cart_h_color ), 'background-color' => esc_attr( $link_color ), ), '.ast-site-header-cart .widget_shopping_cart .total .woocommerce-Price-amount' => array( 'color' => esc_attr( $link_color ), ), '.woocommerce a.remove:hover, .ast-woocommerce-cart-menu .main-header-menu .woocommerce-custom-menu-item .menu-item:hover > .menu-link.remove:hover' => array( 'color' => esc_attr( $link_color ), 'border-color' => esc_attr( $link_color ), 'background-color' => esc_attr( '#ffffff' ), ), /** * Checkout button color for widget */ '.ast-site-header-cart .widget_shopping_cart .buttons .button.checkout, .woocommerce .widget_shopping_cart .woocommerce-mini-cart__buttons .checkout.wc-forward' => array( 'color' => $btn_h_color, 'border-color' => $btn_bg_h_color, 'background-color' => $btn_bg_h_color, ), '.site-header .ast-site-header-cart-data .button.wc-forward, .site-header .ast-site-header-cart-data .button.wc-forward:hover' => array( 'color' => $btn_color, ), '.below-header-user-select .ast-site-header-cart .widget, .ast-above-header-section .ast-site-header-cart .widget a, .below-header-user-select .ast-site-header-cart .widget_shopping_cart a' => array( 'color' => $text_color, ), '.below-header-user-select .ast-site-header-cart .widget_shopping_cart a:hover, .ast-above-header-section .ast-site-header-cart .widget_shopping_cart a:hover, .below-header-user-select .ast-site-header-cart .widget_shopping_cart a.remove:hover, .ast-above-header-section .ast-site-header-cart .widget_shopping_cart a.remove:hover' => array( 'color' => esc_attr( $link_color ), ), ); $css_desktop_output = array_merge( $css_desktop_output, $compat_css_desktop ); } // WooCommerce global button compatibility for new users only. if ( ! $astra_support_woo_btns_global ) { $css_desktop_output['.woocommerce .woocommerce-cart-form button[name="update_cart"]:disabled'] = array( 'color' => esc_attr( $btn_color ), ); $css_desktop_output['.woocommerce #content table.cart .button[name="apply_coupon"], .woocommerce-page #content table.cart .button[name="apply_coupon"]'] = array( 'padding' => '10px 40px', ); $css_desktop_output['.woocommerce table.cart td.actions .button, .woocommerce #content table.cart td.actions .button, .woocommerce-page table.cart td.actions .button, .woocommerce-page #content table.cart td.actions .button'] = array( 'line-height' => '1', 'border-width' => '1px', 'border-style' => 'solid', ); $css_desktop_output['.woocommerce ul.products li.product .button, .woocommerce-page ul.products li.product .button'] = array( 'line-height' => '1.3', ); $css_desktop_output['.woocommerce-js a.button, .woocommerce button.button, .woocommerce .woocommerce-message a.button, .woocommerce #respond input#submit.alt, .woocommerce-js a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce input.button,.woocommerce input.button:disabled, .woocommerce input.button:disabled[disabled], .woocommerce input.button:disabled:hover, .woocommerce input.button:disabled[disabled]:hover, .woocommerce #respond input#submit, .woocommerce button.button.alt.disabled, .wc-block-grid__products .wc-block-grid__product .wp-block-button__link, .wc-block-grid__product-onsale'] = array( 'color' => $btn_color, 'border-color' => $btn_bg_color, 'background-color' => $btn_bg_color, ); $css_desktop_output['.woocommerce-js a.button:hover, .woocommerce button.button:hover, .woocommerce .woocommerce-message a.button:hover,.woocommerce #respond input#submit:hover,.woocommerce #respond input#submit.alt:hover, .woocommerce-js a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover, .woocommerce input.button:hover, .woocommerce button.button.alt.disabled:hover, .wc-block-grid__products .wc-block-grid__product .wp-block-button__link:hover'] = array( 'color' => $btn_h_color, 'border-color' => $btn_bg_h_color, 'background-color' => $btn_bg_h_color, ); $css_desktop_output['.woocommerce-js a.button, .woocommerce button.button, .woocommerce .woocommerce-message a.button, .woocommerce #respond input#submit.alt, .woocommerce-js a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce input.button,.woocommerce-cart table.cart td.actions .button, .woocommerce form.checkout_coupon .button, .woocommerce #respond input#submit, .wc-block-grid__products .wc-block-grid__product .wp-block-button__link'] = array_merge( $woo_btn_compatibility_desktop, array( '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' ), ) ); $css_desktop_output['.woocommerce ul.products li.product a, .woocommerce-js a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover'] = array( 'text-decoration' => 'none', ); } if ( Astra_Dynamic_CSS::v4_block_editor_compat() ) { $css_desktop_output['.entry-content .woocommerce-message, .entry-content .woocommerce-error, .entry-content .woocommerce-info'] = array( 'padding-top' => '1em', 'padding-bottom' => '1em', 'padding-' . $ltr_left => '3.5em', 'padding-' . $ltr_right => '2em', ); } if ( Astra_Builder_Helper::apply_flex_based_css() ) { $css_desktop_output['.woocommerce[class*="rel-up-columns-"] .site-main div.product .related.products ul.products li.product, .woocommerce-page .site-main ul.products li.product'] = array( 'width' => '100%', ); } if ( is_cart() && false === Astra_Builder_Helper::apply_flex_based_css() && true === astra_get_option( 'cart-modern-layout' ) && true === astra_get_option( 'enable-cart-upsells' ) ) { $css_desktop_output['.woocommerce[class*="rel-up-columns-"] .site-main div.product .related.products ul.products li.product, .woocommerce-page .site-main ul.products li.product'] = array( 'width' => '100%', ); } // Backward compatibility for old users for h2 tag global fonts. if ( apply_filters( 'astra_theme_woocommerce_global_h2_font', astra_get_option( 'woo_support_global_settings', false ) ) ) { $css_desktop_output['.woocommerce .up-sells h2, .woocommerce .related.products h2, .woocommerce .woocommerce-tabs h2'] = array( 'font-size' => '1.5rem', ); $css_desktop_output['.woocommerce h2, .woocommerce-account h2'] = array( 'font-size' => '1.625rem', ); } if ( false === Astra_Icons::is_svg_icons() ) { $css_desktop_output['.woocommerce ul.product-categories > li ul li:before'] = array( 'content' => '"\e900"', 'padding' => '0 5px 0 5px', 'display' => 'inline-block', 'font-family' => 'Astra', 'transform' => 'rotate(-90deg)', 'font-size' => '11px', 'font-size' => '0.7rem', ); $css_desktop_output['.ast-site-header-cart i.astra-icon:before'] = array( 'font-family' => 'Astra', ); $css_desktop_output['.ast-icon-shopping-cart:before'] = array( 'content' => '"\f07a"', ); $css_desktop_output['.ast-icon-shopping-bag:before'] = array( 'content' => '"\f290"', ); $css_desktop_output['.ast-icon-shopping-basket:before'] = array( 'content' => '"\f291"', ); } else { $css_desktop_output['.woocommerce ul.product-categories > li ul li'] = array( 'position' => 'relative', ); if ( $is_site_rtl ) { $css_desktop_output['.woocommerce ul.product-categories > li ul li:before'] = array( 'content' => '""', 'border-width' => '1px 0 0 1px', 'border-style' => 'solid', 'display' => 'inline-block', 'width' => '6px', 'height' => '6px', 'position' => 'absolute', 'top' => '50%', 'margin-top' => '-2px', '-webkit-transform' => 'rotate(45deg)', 'transform' => 'rotate(45deg)', ); $css_desktop_output['.woocommerce ul.product-categories > li ul li a'] = array( 'margin-right' => '15px', ); } else { $css_desktop_output['.woocommerce ul.product-categories > li ul li:before'] = array( 'content' => '""', 'border-width' => '1px 1px 0 0', 'border-style' => 'solid', 'display' => 'inline-block', 'width' => '6px', 'height' => '6px', 'position' => 'absolute', 'top' => '50%', 'margin-top' => '-2px', '-webkit-transform' => 'rotate(45deg)', 'transform' => 'rotate(45deg)', ); $css_desktop_output['.woocommerce ul.product-categories > li ul li a'] = array( 'margin-left' => '15px', ); } } $css_desktop_output['.ast-icon-shopping-cart svg'] = array( 'height' => '.82em', ); $css_desktop_output['.ast-icon-shopping-bag svg'] = array( 'height' => '1em', 'width' => '1em', ); $css_desktop_output['.ast-icon-shopping-basket svg'] = array( 'height' => '1.15em', 'width' => '1.2em', ); $css_desktop_output['.ast-site-header-cart.ast-menu-cart-outline .ast-addon-cart-wrap, .ast-site-header-cart.ast-menu-cart-fill .ast-addon-cart-wrap '] = array( 'line-height' => '1', ); $css_desktop_output['.ast-site-header-cart.ast-menu-cart-fill i.astra-icon'] = array( ' font-size' => '1.1em', ); $css_desktop_output['.ast-site-header-cart.ast-menu-cart-fill i.astra-icon'] = array( ' font-size' => '1.1em', ); $css_desktop_output['li.woocommerce-custom-menu-item .ast-site-header-cart i.astra-icon:after'] = array( ' padding-left' => '2px', ); $css_desktop_output['.ast-hfb-header .ast-addon-cart-wrap'] = array( ' padding' => '0.4em', ); $css_desktop_output['.ast-header-break-point.ast-header-custom-item-outside .ast-woo-header-cart-info-wrap'] = array( ' display' => 'none', ); $css_desktop_output['.ast-site-header-cart i.astra-icon:after'] = array( ' background' => $header_cart_count_color, ); if ( is_account_page() && false === astra_get_option( 'modern-woo-account-view', false ) ) { $css_output .= ' body .woocommerce-MyAccount-navigation-link { list-style: none; border: 1px solid var(--ast-border-color); border-bottom-width: 0; } body .woocommerce-MyAccount-navigation-link:last-child { border-bottom-width: 1px; } body .woocommerce-MyAccount-navigation-link.is-active a { background-color: #fbfbfb; } body .woocommerce-MyAccount-navigation-link a { display: block; padding: .5em 1em; } body .woocommerce form.login, body .woocommerce form.checkout_coupon, body .woocommerce form.register { border: 1px solid var(--ast-border-color); padding: 20px; margin: 2em 0; text-align: left; border-radius: 5px; } '; } // If Off canvas cart is enabled then we should not show view cart link. if ( 'flyout' === astra_get_option( 'woo-header-cart-click-action' ) ) { $css_output .= '.woocommerce a.added_to_cart { display: none; }'; } /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( ! ( defined( 'ASTRA_EXT_VER' ) && class_exists( 'Astra_Ext_Extension' ) && Astra_Ext_Extension::is_active( 'woocommerce' ) ) ) { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css_output .= ' .woocommerce .woocommerce-result-count, .woocommerce-page .woocommerce-result-count { float: left; } .woocommerce .woocommerce-ordering { float: right; margin-bottom: 2.5em; } '; } if ( true === astra_check_is_structural_setup() ) { $css_desktop_output['.ast-separate-container .ast-woocommerce-container'] = array( 'padding' => '3em', ); } if ( ! $astra_support_woo_btns_global ) { $css_output .= ' .woocommerce-js a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { font-size: 100%; line-height: 1; text-decoration: none; overflow: visible; padding: 0.5em 0.75em; font-weight: 700; border-radius: 3px; color: $secondarytext; background-color: $secondary; border: 0; } .woocommerce-js a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover { background-color: #dad8da; background-image: none; color: #515151; } '; } /* Parse WooCommerce General CSS from array() */ $css_output .= astra_parse_css( $css_desktop_output ); if ( ! Astra_Builder_Helper::apply_flex_based_css() ) { $tablet_css_shop_page_grid = array( '.woocommerce.tablet-columns-6 ul.products li.product, .woocommerce-page.tablet-columns-6 ul.products li.product' => array( 'width' => '12.7%', 'width' => 'calc(16.66% - 16.66px)', ), '.woocommerce.tablet-columns-5 ul.products li.product, .woocommerce-page.tablet-columns-5 ul.products li.product' => array( 'width' => '16.2%', 'width' => 'calc(20% - 16px)', ), '.woocommerce.tablet-columns-4 ul.products li.product, .woocommerce-page.tablet-columns-4 ul.products li.product' => array( 'width' => '21.5%', 'width' => 'calc(25% - 15px)', ), '.woocommerce.tablet-columns-3 ul.products li.product, .woocommerce-page.tablet-columns-3 ul.products li.product' => array( 'width' => '30.2%', 'width' => 'calc(33.33% - 14px)', ), '.woocommerce.tablet-columns-2 ul.products li.product, .woocommerce-page.tablet-columns-2 ul.products li.product' => array( 'width' => '47.6%', 'width' => 'calc(50% - 10px)', ), '.woocommerce.tablet-columns-1 ul.products li.product, .woocommerce-page.tablet-columns-1 ul.products li.product' => array( 'width' => '100%', ), '.woocommerce div.product .related.products ul.products li.product' => array( 'width' => '30.2%', 'width' => 'calc(33.33% - 14px)', ), ); } else { $archive_tablet_grid = $this->get_grid_column_count( 'archive', 'tablet' ); $tablet_css_shop_page_grid = array( '.woocommerce.tablet-columns-' . $archive_tablet_grid . ' ul.products li.product, .woocommerce-page.tablet-columns-' . $archive_tablet_grid . ' ul.products:not(.elementor-grid)' => array( 'grid-template-columns' => 'repeat(' . $archive_tablet_grid . ', minmax(0, 1fr))', ), ); } $css_output .= astra_parse_css( $tablet_css_shop_page_grid, astra_get_mobile_breakpoint( '', 1 ), astra_get_tablet_breakpoint() ); if ( ! Astra_Builder_Helper::apply_flex_based_css() ) { if ( $is_site_rtl ) { $tablet_shop_page_grid_lang_direction_css = array( '.woocommerce[class*="columns-"].columns-3 > ul.products li.product, .woocommerce[class*="columns-"].columns-4 > ul.products li.product, .woocommerce[class*="columns-"].columns-5 > ul.products li.product, .woocommerce[class*="columns-"].columns-6 > ul.products li.product' => array( 'width' => '30.2%', 'width' => 'calc(33.33% - 14px)', 'margin-left' => '20px', ), '.woocommerce[class*="columns-"].columns-3 > ul.products li.product:nth-child(3n), .woocommerce[class*="columns-"].columns-4 > ul.products li.product:nth-child(3n), .woocommerce[class*="columns-"].columns-5 > ul.products li.product:nth-child(3n), .woocommerce[class*="columns-"].columns-6 > ul.products li.product:nth-child(3n)' => array( 'margin-left' => 0, 'clear' => 'left', ), '.woocommerce[class*="columns-"].columns-3 > ul.products li.product:nth-child(3n+1), .woocommerce[class*="columns-"].columns-4 > ul.products li.product:nth-child(3n+1), .woocommerce[class*="columns-"].columns-5 > ul.products li.product:nth-child(3n+1), .woocommerce[class*="columns-"].columns-6 > ul.products li.product:nth-child(3n+1)' => array( 'clear' => 'right', ), '.woocommerce[class*="columns-"] ul.products li.product:nth-child(n), .woocommerce-page[class*="columns-"] ul.products li.product:nth-child(n)' => array( 'margin-left' => '20px', 'clear' => 'none', ), '.woocommerce.tablet-columns-2 ul.products li.product:nth-child(2n), .woocommerce-page.tablet-columns-2 ul.products li.product:nth-child(2n), .woocommerce.tablet-columns-3 ul.products li.product:nth-child(3n), .woocommerce-page.tablet-columns-3 ul.products li.product:nth-child(3n), .woocommerce.tablet-columns-4 ul.products li.product:nth-child(4n), .woocommerce-page.tablet-columns-4 ul.products li.product:nth-child(4n), .woocommerce.tablet-columns-5 ul.products li.product:nth-child(5n), .woocommerce-page.tablet-columns-5 ul.products li.product:nth-child(5n), .woocommerce.tablet-columns-6 ul.products li.product:nth-child(6n), .woocommerce-page.tablet-columns-6 ul.products li.product:nth-child(6n)' => array( 'margin-left' => '0', 'clear' => 'left', ), '.woocommerce.tablet-columns-2 ul.products li.product:nth-child(2n+1), .woocommerce-page.tablet-columns-2 ul.products li.product:nth-child(2n+1), .woocommerce.tablet-columns-3 ul.products li.product:nth-child(3n+1), .woocommerce-page.tablet-columns-3 ul.products li.product:nth-child(3n+1), .woocommerce.tablet-columns-4 ul.products li.product:nth-child(4n+1), .woocommerce-page.tablet-columns-4 ul.products li.product:nth-child(4n+1), .woocommerce.tablet-columns-5 ul.products li.product:nth-child(5n+1), .woocommerce-page.tablet-columns-5 ul.products li.product:nth-child(5n+1), .woocommerce.tablet-columns-6 ul.products li.product:nth-child(6n+1), .woocommerce-page.tablet-columns-6 ul.products li.product:nth-child(6n+1)' => array( 'clear' => 'right', ), '.woocommerce div.product .related.products ul.products li.product:nth-child(3n), .woocommerce-page.tablet-columns-1 .site-main ul.products li.product' => array( 'margin-left' => 0, 'clear' => 'left', ), '.woocommerce div.product .related.products ul.products li.product:nth-child(3n+1)' => array( 'clear' => 'right', ), ); } else { $tablet_shop_page_grid_lang_direction_css = array( '.woocommerce[class*="columns-"].columns-3 > ul.products li.product, .woocommerce[class*="columns-"].columns-4 > ul.products li.product, .woocommerce[class*="columns-"].columns-5 > ul.products li.product, .woocommerce[class*="columns-"].columns-6 > ul.products li.product' => array( 'width' => '30.2%', 'width' => 'calc(33.33% - 14px)', 'margin-right' => '20px', ), '.woocommerce[class*="columns-"].columns-3 > ul.products li.product:nth-child(3n), .woocommerce[class*="columns-"].columns-4 > ul.products li.product:nth-child(3n), .woocommerce[class*="columns-"].columns-5 > ul.products li.product:nth-child(3n), .woocommerce[class*="columns-"].columns-6 > ul.products li.product:nth-child(3n)' => array( 'margin-right' => 0, 'clear' => 'right', ), '.woocommerce[class*="columns-"].columns-3 > ul.products li.product:nth-child(3n+1), .woocommerce[class*="columns-"].columns-4 > ul.products li.product:nth-child(3n+1), .woocommerce[class*="columns-"].columns-5 > ul.products li.product:nth-child(3n+1), .woocommerce[class*="columns-"].columns-6 > ul.products li.product:nth-child(3n+1)' => array( 'clear' => 'left', ), '.woocommerce[class*="columns-"] ul.products li.product:nth-child(n), .woocommerce-page[class*="columns-"] ul.products li.product:nth-child(n)' => array( 'margin-right' => '20px', 'clear' => 'none', ), '.woocommerce.tablet-columns-2 ul.products li.product:nth-child(2n), .woocommerce-page.tablet-columns-2 ul.products li.product:nth-child(2n), .woocommerce.tablet-columns-3 ul.products li.product:nth-child(3n), .woocommerce-page.tablet-columns-3 ul.products li.product:nth-child(3n), .woocommerce.tablet-columns-4 ul.products li.product:nth-child(4n), .woocommerce-page.tablet-columns-4 ul.products li.product:nth-child(4n), .woocommerce.tablet-columns-5 ul.products li.product:nth-child(5n), .woocommerce-page.tablet-columns-5 ul.products li.product:nth-child(5n), .woocommerce.tablet-columns-6 ul.products li.product:nth-child(6n), .woocommerce-page.tablet-columns-6 ul.products li.product:nth-child(6n)' => array( 'margin-right' => '0', 'clear' => 'right', ), '.woocommerce.tablet-columns-2 ul.products li.product:nth-child(2n+1), .woocommerce-page.tablet-columns-2 ul.products li.product:nth-child(2n+1), .woocommerce.tablet-columns-3 ul.products li.product:nth-child(3n+1), .woocommerce-page.tablet-columns-3 ul.products li.product:nth-child(3n+1), .woocommerce.tablet-columns-4 ul.products li.product:nth-child(4n+1), .woocommerce-page.tablet-columns-4 ul.products li.product:nth-child(4n+1), .woocommerce.tablet-columns-5 ul.products li.product:nth-child(5n+1), .woocommerce-page.tablet-columns-5 ul.products li.product:nth-child(5n+1), .woocommerce.tablet-columns-6 ul.products li.product:nth-child(6n+1), .woocommerce-page.tablet-columns-6 ul.products li.product:nth-child(6n+1)' => array( 'clear' => 'left', ), '.woocommerce div.product .related.products ul.products li.product:nth-child(3n), .woocommerce-page.tablet-columns-1 .site-main ul.products li.product' => array( 'margin-right' => 0, 'clear' => 'right', ), '.woocommerce div.product .related.products ul.products li.product:nth-child(3n+1)' => array( 'clear' => 'left', ), ); } $css_output .= astra_parse_css( $tablet_shop_page_grid_lang_direction_css, astra_get_mobile_breakpoint( '', 1 ), astra_get_tablet_breakpoint() ); } /** * Global button CSS - Tablet = min-wdth: (tablet + 1)px */ if ( $is_site_rtl ) { $min_tablet_css = array( '.woocommerce form.checkout_coupon' => array( 'width' => '50%', ), ); if ( ! Astra_Builder_Helper::apply_flex_based_css() ) { $min_tablet_css['.woocommerce #reviews #comments']['float'] = 'right'; $min_tablet_css['.woocommerce #reviews #review_form_wrapper']['float'] = 'left'; } } else { $min_tablet_css = array( '.woocommerce form.checkout_coupon' => array( 'width' => '50%', ), ); if ( ! Astra_Builder_Helper::apply_flex_based_css() ) { $min_tablet_css['.woocommerce #reviews #comments']['float'] = 'left'; $min_tablet_css['.woocommerce #reviews #review_form_wrapper']['float'] = 'right'; } } $css_output .= astra_parse_css( $min_tablet_css, astra_get_tablet_breakpoint( '', 1 ) ); /** * Global button CSS - Tablet = max-width: (tab-breakpoint)px. */ $css_global_button_tablet = array( '.ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-1.ast-mobile-header-stack.ast-no-menu-items .ast-site-header-cart, .ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-3.ast-mobile-header-stack.ast-no-menu-items .ast-site-header-cart' => array( 'padding-right' => 0, 'padding-left' => 0, ), '.ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-1.ast-mobile-header-stack .main-header-bar' => array( 'text-align' => 'center', ), '.ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-1.ast-mobile-header-stack .ast-site-header-cart, .ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-1.ast-mobile-header-stack .ast-mobile-menu-buttons' => array( 'display' => 'inline-block', ), '.ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-2.ast-mobile-header-inline .site-branding' => array( 'flex' => 'auto', ), '.ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-3.ast-mobile-header-stack .site-branding' => array( 'flex' => '0 0 100%', ), '.ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-3.ast-mobile-header-stack .main-header-container' => array( 'display' => 'flex', 'justify-content' => 'center', ), '.woocommerce-cart .woocommerce-shipping-calculator .button' => array( 'width' => '100%', ), '.woocommerce div.product div.images, .woocommerce div.product div.summary, .woocommerce #content div.product div.images, .woocommerce #content div.product div.summary, .woocommerce-page div.product div.images, .woocommerce-page div.product div.summary, .woocommerce-page #content div.product div.images, .woocommerce-page #content div.product div.summary' => array( 'float' => 'none', 'width' => '100%', ), '.woocommerce-cart table.cart td.actions .ast-return-to-shop' => array( 'display' => 'block', 'text-align' => 'center', 'margin-top' => '1em', ), ); if ( ! $astra_support_woo_btns_global ) { $css_global_button_tablet['.woocommerce-js a.button, .woocommerce button.button, .woocommerce .woocommerce-message a.button, .woocommerce #respond input#submit.alt, .woocommerce-js a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce input.button,.woocommerce-cart table.cart td.actions .button, .woocommerce form.checkout_coupon .button, .woocommerce #respond input#submit, .wc-block-grid__products .wc-block-grid__product .wp-block-button__link'] = array_merge( $woo_btn_compatibility_tablet, 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' ), 'padding-top' => astra_responsive_spacing( $theme_btn_padding, 'top', 'tablet' ), 'padding-right' => astra_responsive_spacing( $theme_btn_padding, 'right', 'tablet' ), 'padding-bottom' => astra_responsive_spacing( $theme_btn_padding, 'bottom', 'tablet' ), 'padding-left' => astra_responsive_spacing( $theme_btn_padding, 'left', 'tablet' ), ) ); } if ( Astra_Builder_Helper::apply_flex_based_css() ) { $archive_tablet_grid = $this->get_grid_column_count( 'archive', 'tablet' ); $css_global_button_tablet[ '.ast-container .woocommerce ul.products:not(.elementor-grid), .woocommerce-page ul.products:not(.elementor-grid), .woocommerce.tablet-columns-' . $archive_tablet_grid . ' ul.products:not(.elementor-grid)' ] = array( 'grid-template-columns' => 'repeat(' . $archive_tablet_grid . ', minmax(0, 1fr))', ); if ( is_shop() || is_product_taxonomy() ) { $css_global_button_tablet['.woocommerce[class*="tablet-columns-"] .site-main div.product .related.products ul.products li.product'] = array( 'width' => '100%', ); } if ( is_product() ) { $single_tablet_grid = $this->get_grid_column_count( 'single', 'tablet' ); $css_global_button_tablet[ '.woocommerce.tablet-rel-up-columns-' . $single_tablet_grid . ' ul.products' ] = array( 'grid-template-columns' => 'repeat(' . $single_tablet_grid . ', minmax(0, 1fr))', ); $css_global_button_tablet['.woocommerce[class*="tablet-rel-up-columns-"] .site-main div.product .related.products ul.products li.product'] = array( 'width' => '100%', ); } } $css_output .= astra_parse_css( $css_global_button_tablet, '', astra_get_tablet_breakpoint() ); /** * Global button CSS - Mobile = max-width: (mobile-breakpoint)px. */ $css_global_button_mobile = array( '.ast-separate-container .ast-woocommerce-container' => array( 'padding' => '.54em 1em 1.33333em', ), '.woocommerce-message, .woocommerce-error, .woocommerce-info' => array( 'display' => 'flex', 'flex-wrap' => 'wrap', ), '.woocommerce-message a.button, .woocommerce-error a.button, .woocommerce-info a.button' => array( 'order' => '1', 'margin-top' => '.5em', ), '.woocommerce .woocommerce-ordering, .woocommerce-page .woocommerce-ordering' => array( 'float' => 'none', 'margin-bottom' => '2em', ), '.woocommerce table.cart td.actions .button, .woocommerce #content table.cart td.actions .button, .woocommerce-page table.cart td.actions .button, .woocommerce-page #content table.cart td.actions .button' => array( 'padding-left' => '1em', 'padding-right' => '1em', ), '.woocommerce #content table.cart .button, .woocommerce-page #content table.cart .button' => array( 'width' => '100%', ), '.woocommerce #content table.cart td.actions .coupon, .woocommerce-page #content table.cart td.actions .coupon' => array( 'float' => 'none', ), '.woocommerce #content table.cart td.actions .coupon .button, .woocommerce-page #content table.cart td.actions .coupon .button' => array( 'flex' => '1', ), '.woocommerce #content div.product .woocommerce-tabs ul.tabs li a, .woocommerce-page #content div.product .woocommerce-tabs ul.tabs li a' => array( 'display' => 'block', ), ); if ( ! $astra_support_woo_btns_global ) { $css_global_button_mobile['.woocommerce ul.products a.button, .woocommerce-page ul.products a.button'] = array( 'padding' => '0.5em 0.75em', ); $css_global_button_mobile['.woocommerce-js a.button, .woocommerce button.button, .woocommerce .woocommerce-message a.button, .woocommerce #respond input#submit.alt, .woocommerce-js a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce input.button,.woocommerce-cart table.cart td.actions .button, .woocommerce form.checkout_coupon .button, .woocommerce #respond input#submit, .wc-block-grid__products .wc-block-grid__product .wp-block-button__link'] = array_merge( $woo_btn_compatibility_mobile, 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' ), 'padding-top' => astra_responsive_spacing( $theme_btn_padding, 'top', 'mobile' ), 'padding-right' => astra_responsive_spacing( $theme_btn_padding, 'right', 'mobile' ), 'padding-bottom' => astra_responsive_spacing( $theme_btn_padding, 'bottom', 'mobile' ), 'padding-left' => astra_responsive_spacing( $theme_btn_padding, 'left', 'mobile' ), ) ); } if ( ! Astra_Builder_Helper::apply_flex_based_css() ) { $css_global_button_mobile['.woocommerce div.product .related.products ul.products li.product, .woocommerce.mobile-columns-2 ul.products li.product, .woocommerce-page.mobile-columns-2 ul.products li.product'] = array( 'width' => '46.1%', 'width' => 'calc(50% - 10px)', ); $css_global_button_mobile['.woocommerce.mobile-columns-6 ul.products li.product, .woocommerce-page.mobile-columns-6 ul.products li.product'] = array( 'width' => '10.2%', 'width' => 'calc(16.66% - 16.66px)', ); $css_global_button_mobile['.woocommerce.mobile-columns-5 ul.products li.product, .woocommerce-page.mobile-columns-5 ul.products li.product'] = array( 'width' => '13%', 'width' => 'calc(20% - 16px)', ); $css_global_button_mobile['.woocommerce.mobile-columns-4 ul.products li.product, .woocommerce-page.mobile-columns-4 ul.products li.product'] = array( 'width' => '19%', 'width' => 'calc(25% - 15px)', ); $css_global_button_mobile['.woocommerce.mobile-columns-3 ul.products li.product, .woocommerce-page.mobile-columns-3 ul.products li.product'] = array( 'width' => '28.2%', 'width' => 'calc(33.33% - 14px)', ); $css_global_button_mobile['.woocommerce.mobile-columns-1 ul.products li.product, .woocommerce-page.mobile-columns-1 ul.products li.product'] = array( 'width' => '100%', ); } else { $archive_mobile_grid = $this->get_grid_column_count( 'archive', 'mobile' ); $single_mobile_grid = $this->get_grid_column_count( 'single', 'mobile' ); $css_global_button_mobile[ '.ast-container .woocommerce ul.products:not(.elementor-grid), .woocommerce-page ul.products:not(.elementor-grid), .woocommerce.mobile-columns-' . $archive_mobile_grid . ' ul.products:not(.elementor-grid), .woocommerce-page.mobile-columns-' . $archive_mobile_grid . ' ul.products:not(.elementor-grid)' ] = array( 'grid-template-columns' => 'repeat(' . $archive_mobile_grid . ', minmax(0, 1fr))', ); $css_global_button_mobile[ '.woocommerce.mobile-rel-up-columns-' . $single_mobile_grid . ' ul.products::not(.elementor-grid)' ] = array( 'grid-template-columns' => 'repeat(' . $single_mobile_grid . ', minmax(0, 1fr))', ); } $css_output .= astra_parse_css( $css_global_button_mobile, '', astra_get_mobile_breakpoint() ); if ( $is_site_rtl ) { $global_button_mobile_lang_direction_css = array( '.woocommerce ul.products a.button.loading::after, .woocommerce-page ul.products a.button.loading::after' => array( 'display' => 'inline-block', 'margin-right' => '5px', 'position' => 'initial', ), '.woocommerce.mobile-columns-1 .site-main ul.products li.product:nth-child(n), .woocommerce-page.mobile-columns-1 .site-main ul.products li.product:nth-child(n)' => array( 'margin-left' => 0, ), '.woocommerce #content div.product .woocommerce-tabs ul.tabs li, .woocommerce-page #content div.product .woocommerce-tabs ul.tabs li' => array( 'display' => 'block', 'margin-left' => 0, ), ); if ( ! Astra_Builder_Helper::apply_flex_based_css() ) { $global_button_mobile_lang_direction_css['.woocommerce[class*="columns-"].columns-3 > ul.products li.product, .woocommerce[class*="columns-"].columns-4 > ul.products li.product, .woocommerce[class*="columns-"].columns-5 > ul.products li.product, .woocommerce[class*="columns-"].columns-6 > ul.products li.product'] = array( 'width' => 'calc(50% - 10px)', 'margin-left' => '20px', ); $global_button_mobile_lang_direction_css['.woocommerce[class*="columns-"] ul.products li.product:nth-child(n), .woocommerce-page[class*="columns-"] ul.products li.product:nth-child(n)'] = array( 'margin-left' => '20px', 'clear' => 'none', ); $global_button_mobile_lang_direction_css['.woocommerce-page[class*=columns-].columns-3>ul.products li.product:nth-child(2n), .woocommerce-page[class*=columns-].columns-4>ul.products li.product:nth-child(2n), .woocommerce-page[class*=columns-].columns-5>ul.products li.product:nth-child(2n), .woocommerce-page[class*=columns-].columns-6>ul.products li.product:nth-child(2n), .woocommerce[class*=columns-].columns-3>ul.products li.product:nth-child(2n), .woocommerce[class*=columns-].columns-4>ul.products li.product:nth-child(2n), .woocommerce[class*=columns-].columns-5>ul.products li.product:nth-child(2n), .woocommerce[class*=columns-].columns-6>ul.products li.product:nth-child(2n)'] = array( 'margin-left' => 0, 'clear' => 'left', ); $global_button_mobile_lang_direction_css['.woocommerce[class*="columns-"].columns-3 > ul.products li.product:nth-child(2n+1), .woocommerce[class*="columns-"].columns-4 > ul.products li.product:nth-child(2n+1), .woocommerce[class*="columns-"].columns-5 > ul.products li.product:nth-child(2n+1), .woocommerce[class*="columns-"].columns-6 > ul.products li.product:nth-child(2n+1)'] = array( 'clear' => 'right', ); $global_button_mobile_lang_direction_css['.woocommerce-page[class*=columns-] ul.products li.product:nth-child(n), .woocommerce[class*=columns-] ul.products li.product:nth-child(n)'] = array( 'margin-left' => '20px', 'clear' => 'none', ); $global_button_mobile_lang_direction_css['.woocommerce.mobile-columns-6 ul.products li.product:nth-child(6n), .woocommerce-page.mobile-columns-6 ul.products li.product:nth-child(6n), .woocommerce.mobile-columns-5 ul.products li.product:nth-child(5n), .woocommerce-page.mobile-columns-5 ul.products li.product:nth-child(5n), .woocommerce.mobile-columns-4 ul.products li.product:nth-child(4n), .woocommerce-page.mobile-columns-4 ul.products li.product:nth-child(4n), .woocommerce.mobile-columns-3 ul.products li.product:nth-child(3n), .woocommerce-page.mobile-columns-3 ul.products li.product:nth-child(3n), .woocommerce.mobile-columns-2 ul.products li.product:nth-child(2n), .woocommerce-page.mobile-columns-2 ul.products li.product:nth-child(2n), .woocommerce div.product .related.products ul.products li.product:nth-child(2n)'] = array( 'margin-left' => 0, 'clear' => 'left', ); $global_button_mobile_lang_direction_css['.woocommerce.mobile-columns-6 ul.products li.product:nth-child(6n+1), .woocommerce-page.mobile-columns-6 ul.products li.product:nth-child(6n+1), .woocommerce.mobile-columns-5 ul.products li.product:nth-child(5n+1), .woocommerce-page.mobile-columns-5 ul.products li.product:nth-child(5n+1), .woocommerce.mobile-columns-4 ul.products li.product:nth-child(4n+1), .woocommerce-page.mobile-columns-4 ul.products li.product:nth-child(4n+1), .woocommerce.mobile-columns-3 ul.products li.product:nth-child(3n+1), .woocommerce-page.mobile-columns-3 ul.products li.product:nth-child(3n+1), .woocommerce.mobile-columns-2 ul.products li.product:nth-child(2n+1), .woocommerce-page.mobile-columns-2 ul.products li.product:nth-child(2n+1), .woocommerce div.product .related.products ul.products li.product:nth-child(2n+1)'] = array( 'clear' => 'right', ); } } else { $global_button_mobile_lang_direction_css = array( '.woocommerce ul.products a.button.loading::after, .woocommerce-page ul.products a.button.loading::after' => array( 'display' => 'inline-block', 'margin-left' => '5px', 'position' => 'initial', ), '.woocommerce.mobile-columns-1 .site-main ul.products li.product:nth-child(n), .woocommerce-page.mobile-columns-1 .site-main ul.products li.product:nth-child(n)' => array( 'margin-right' => 0, ), '.woocommerce #content div.product .woocommerce-tabs ul.tabs li, .woocommerce-page #content div.product .woocommerce-tabs ul.tabs li' => array( 'display' => 'block', 'margin-right' => 0, ), ); if ( ! Astra_Builder_Helper::apply_flex_based_css() ) { $global_button_mobile_lang_direction_css['.woocommerce[class*="columns-"].columns-3 > ul.products li.product, .woocommerce[class*="columns-"].columns-4 > ul.products li.product, .woocommerce[class*="columns-"].columns-5 > ul.products li.product, .woocommerce[class*="columns-"].columns-6 > ul.products li.product'] = array( 'width' => 'calc(50% - 10px)', 'margin-right' => '20px', ); $global_button_mobile_lang_direction_css['.woocommerce[class*="columns-"] ul.products li.product:nth-child(n), .woocommerce-page[class*="columns-"] ul.products li.product:nth-child(n)'] = array( 'margin-right' => '20px', 'clear' => 'none', ); $global_button_mobile_lang_direction_css['.woocommerce-page[class*=columns-].columns-3>ul.products li.product:nth-child(2n), .woocommerce-page[class*=columns-].columns-4>ul.products li.product:nth-child(2n), .woocommerce-page[class*=columns-].columns-5>ul.products li.product:nth-child(2n), .woocommerce-page[class*=columns-].columns-6>ul.products li.product:nth-child(2n), .woocommerce[class*=columns-].columns-3>ul.products li.product:nth-child(2n), .woocommerce[class*=columns-].columns-4>ul.products li.product:nth-child(2n), .woocommerce[class*=columns-].columns-5>ul.products li.product:nth-child(2n), .woocommerce[class*=columns-].columns-6>ul.products li.product:nth-child(2n)'] = array( 'margin-right' => 0, 'clear' => 'right', ); $global_button_mobile_lang_direction_css['.woocommerce[class*="columns-"].columns-3 > ul.products li.product:nth-child(2n+1), .woocommerce[class*="columns-"].columns-4 > ul.products li.product:nth-child(2n+1), .woocommerce[class*="columns-"].columns-5 > ul.products li.product:nth-child(2n+1), .woocommerce[class*="columns-"].columns-6 > ul.products li.product:nth-child(2n+1)'] = array( 'clear' => 'left', ); $global_button_mobile_lang_direction_css['.woocommerce-page[class*=columns-] ul.products li.product:nth-child(n), .woocommerce[class*=columns-] ul.products li.product:nth-child(n)'] = array( 'margin-right' => '20px', 'clear' => 'none', ); $global_button_mobile_lang_direction_css['.woocommerce.mobile-columns-6 ul.products li.product:nth-child(6n), .woocommerce-page.mobile-columns-6 ul.products li.product:nth-child(6n), .woocommerce.mobile-columns-5 ul.products li.product:nth-child(5n), .woocommerce-page.mobile-columns-5 ul.products li.product:nth-child(5n), .woocommerce.mobile-columns-4 ul.products li.product:nth-child(4n), .woocommerce-page.mobile-columns-4 ul.products li.product:nth-child(4n), .woocommerce.mobile-columns-3 ul.products li.product:nth-child(3n), .woocommerce-page.mobile-columns-3 ul.products li.product:nth-child(3n), .woocommerce.mobile-columns-2 ul.products li.product:nth-child(2n), .woocommerce-page.mobile-columns-2 ul.products li.product:nth-child(2n), .woocommerce div.product .related.products ul.products li.product:nth-child(2n)'] = array( 'margin-right' => 0, 'clear' => 'right', ); $global_button_mobile_lang_direction_css['.woocommerce.mobile-columns-6 ul.products li.product:nth-child(6n+1), .woocommerce-page.mobile-columns-6 ul.products li.product:nth-child(6n+1), .woocommerce.mobile-columns-5 ul.products li.product:nth-child(5n+1), .woocommerce-page.mobile-columns-5 ul.products li.product:nth-child(5n+1), .woocommerce.mobile-columns-4 ul.products li.product:nth-child(4n+1), .woocommerce-page.mobile-columns-4 ul.products li.product:nth-child(4n+1), .woocommerce.mobile-columns-3 ul.products li.product:nth-child(3n+1), .woocommerce-page.mobile-columns-3 ul.products li.product:nth-child(3n+1), .woocommerce.mobile-columns-2 ul.products li.product:nth-child(2n+1), .woocommerce-page.mobile-columns-2 ul.products li.product:nth-child(2n+1), .woocommerce div.product .related.products ul.products li.product:nth-child(2n+1)'] = array( 'clear' => 'left', ); } } $css_output .= astra_parse_css( $global_button_mobile_lang_direction_css, '', astra_get_mobile_breakpoint() ); if ( 'page-builder' !== astra_get_content_layout() ) { /* Woocommerce Shop Archive width */ if ( 'custom' === $woo_shop_archive_width ) : // Woocommerce shop archive custom width. $site_width = array( '.ast-woo-shop-archive .site-content > .ast-container' => array( 'max-width' => astra_get_css_value( $woo_shop_archive_max_width, 'px' ), ), ); $css_output .= astra_parse_css( $site_width, astra_get_tablet_breakpoint( '', 1 ) ); else : // Woocommerce shop archive default width. $site_width = array( '.ast-woo-shop-archive .site-content > .ast-container' => array( 'max-width' => astra_get_css_value( $site_content_width + 40, 'px' ), ), ); /* Parse CSS from array()*/ $css_output .= astra_parse_css( $site_width, astra_get_tablet_breakpoint( '', 1 ) ); endif; } $woo_product_css = array( '.woocommerce #content .ast-woocommerce-container div.product div.images, .woocommerce .ast-woocommerce-container div.product div.images, .woocommerce-page #content .ast-woocommerce-container div.product div.images, .woocommerce-page .ast-woocommerce-container div.product div.images' => array( 'width' => '50%', ), '.woocommerce #content .ast-woocommerce-container div.product div.summary, .woocommerce .ast-woocommerce-container div.product div.summary, .woocommerce-page #content .ast-woocommerce-container div.product div.summary, .woocommerce-page .ast-woocommerce-container div.product div.summary' => array( 'width' => '46%', ), '.woocommerce.woocommerce-checkout form #customer_details.col2-set .col-1, .woocommerce.woocommerce-checkout form #customer_details.col2-set .col-2, .woocommerce-page.woocommerce-checkout form #customer_details.col2-set .col-1, .woocommerce-page.woocommerce-checkout form #customer_details.col2-set .col-2' => array( 'float' => 'none', 'width' => 'auto', ), ); /* Parse CSS from array()*/ $css_output .= astra_parse_css( $woo_product_css, astra_get_tablet_breakpoint( '', 1 ) ); /* * global button settings not working for woocommerce button on shop and single page. * check if the current user is existing user or new user. * if new user load the CSS bty default if existing provide a filter */ if ( self::astra_global_btn_woo_comp() ) { if ( ! $astra_support_woo_btns_global ) { $woo_global_button_css = array( '.woocommerce-js a.button , .woocommerce button.button.alt ,.woocommerce-page table.cart td.actions .button, .woocommerce-page #content table.cart td.actions .button , .woocommerce-js a.button.alt ,.woocommerce .woocommerce-message a.button , .ast-site-header-cart .widget_shopping_cart .buttons .button.checkout, .woocommerce button.button.alt.disabled , .wc-block-grid__products .wc-block-grid__product .wp-block-button__link ' => array( 'border' => 'solid', 'border-top-width' => ( isset( $global_custom_button_border_size['top'] ) && '' !== $global_custom_button_border_size['top'] ) ? astra_get_css_value( $global_custom_button_border_size['top'], 'px' ) : '0', 'border-right-width' => ( isset( $global_custom_button_border_size['right'] ) && '' !== $global_custom_button_border_size['right'] ) ? astra_get_css_value( $global_custom_button_border_size['right'], 'px' ) : '0', 'border-left-width' => ( isset( $global_custom_button_border_size['left'] ) && '' !== $global_custom_button_border_size['left'] ) ? astra_get_css_value( $global_custom_button_border_size['left'], 'px' ) : '0', 'border-bottom-width' => ( isset( $global_custom_button_border_size['bottom'] ) && '' !== $global_custom_button_border_size['bottom'] ) ? astra_get_css_value( $global_custom_button_border_size['bottom'], 'px' ) : '0', 'border-color' => $btn_border_color ? $btn_border_color : $btn_bg_color, ), '.woocommerce-js a.button:hover , .woocommerce button.button.alt:hover , .woocommerce-page table.cart td.actions .button:hover, .woocommerce-page #content table.cart td.actions .button:hover, .woocommerce-js a.button.alt:hover ,.woocommerce .woocommerce-message a.button:hover , .ast-site-header-cart .widget_shopping_cart .buttons .button.checkout:hover , .woocommerce button.button.alt.disabled:hover , .wc-block-grid__products .wc-block-grid__product .wp-block-button__link:hover' => array( 'border-color' => $btn_border_h_color ? $btn_border_h_color : $btn_bg_h_color, ), ); $css_output .= astra_parse_css( $woo_global_button_css ); } if ( $if_free_shipping ) { $woo_free_shipping_text = array( '.summary .price' => array( 'display' => 'inline-block', ), '.ast-shipping-text' => array( 'display' => 'inline', ), ); $css_output .= astra_parse_css( $woo_free_shipping_text ); } } if ( ! is_shop() && ! is_product() ) { $css_output .= astra_parse_css( array( '.widget_product_search button' => array( 'flex' => '0 0 auto', 'padding' => '10px 20px', ), ) ); } if ( $is_site_rtl ) { $woo_product_lang_direction_css = array( '.woocommerce.woocommerce-checkout form #customer_details.col2-set, .woocommerce-page.woocommerce-checkout form #customer_details.col2-set' => array( 'width' => '55%', 'float' => 'right', 'margin-left' => '4.347826087%', ), '.woocommerce.woocommerce-checkout form #order_review, .woocommerce.woocommerce-checkout form #order_review_heading, .woocommerce-page.woocommerce-checkout form #order_review, .woocommerce-page.woocommerce-checkout form #order_review_heading' => array( 'width' => '40%', 'float' => 'left', 'margin-left' => '0', 'clear' => 'left', ), ); } else { $woo_product_lang_direction_css = array( '.woocommerce.woocommerce-checkout form #customer_details.col2-set, .woocommerce-page.woocommerce-checkout form #customer_details.col2-set' => array( 'width' => '55%', 'float' => 'left', 'margin-right' => '4.347826087%', ), '.woocommerce.woocommerce-checkout form #order_review, .woocommerce.woocommerce-checkout form #order_review_heading, .woocommerce-page.woocommerce-checkout form #order_review, .woocommerce-page.woocommerce-checkout form #order_review_heading' => array( 'width' => '40%', 'float' => 'right', 'margin-right' => '0', 'clear' => 'right', ), ); } /* Parse CSS from array()*/ /** @psalm-suppress InvalidScalarArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css_output .= astra_parse_css( $woo_product_lang_direction_css, astra_get_tablet_breakpoint( '', 1 ) ); /** @psalm-suppress InvalidScalarArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** * Single page cart button size. */ $single_product_cart_button_width = astra_get_option( 'single-product-cart-button-width' ); $single_product_cart_button_width_desktop = ( ! empty( $single_product_cart_button_width['desktop'] ) ) ? $single_product_cart_button_width['desktop'] : ''; $single_product_cart_button_width_tablet = ( ! empty( $single_product_cart_button_width['tablet'] ) ) ? $single_product_cart_button_width['tablet'] : ''; $single_product_cart_button_width_mobile = ( ! empty( $single_product_cart_button_width['mobile'] ) ) ? $single_product_cart_button_width['mobile'] : ''; $single_cart_button = '.woocommerce div.product form.cart .button.single_add_to_cart_button'; $css_output_cart_button_width_desktop = array( $single_cart_button => array( 'width' => astra_get_css_value( $single_product_cart_button_width_desktop, '%' ), ), ); $css_output .= astra_parse_css( $css_output_cart_button_width_desktop ); $css_output_cart_button_width_mobile = array( $single_cart_button => array( 'width' => astra_get_css_value( $single_product_cart_button_width_mobile, '%' ), ), ); $css_output_cart_button_width_tablet = array( $single_cart_button => array( 'width' => astra_get_css_value( $single_product_cart_button_width_tablet, '%' ), ), ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css_output .= astra_parse_css( $css_output_cart_button_width_tablet, '', astra_get_tablet_breakpoint() ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css_output .= astra_parse_css( $css_output_cart_button_width_mobile, '', astra_get_mobile_breakpoint() ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** * Select arrow styling */ $arrow_color = str_replace( '#', '%23', $global_palette['palette'][3] ); $arrow_bg = "data:image/svg+xml,%3Csvg class='ast-arrow-svg' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' x='0px' y='0px' width='26px' height='16.043px' fill='" . $arrow_color . "' viewBox='57 35.171 26 16.043' enable-background='new 57 35.171 26 16.043' xml:space='preserve' %3E%3Cpath d='M57.5,38.193l12.5,12.5l12.5-12.5l-2.5-2.5l-10,10l-10-10L57.5,38.193z'%3E%3C/path%3E%3C/svg%3E"; $css_output_woo_select_default = array( 'select, .select2-container .select2-selection--single' => array( 'background-image' => 'url("' . $arrow_bg . '")', 'background-size' => '.8em', 'background-repeat' => 'no-repeat', 'background-position-x' => 'calc( 100% - 10px )', 'background-position-y' => 'center', '-webkit-appearance' => 'none', '-moz-appearance' => 'none', 'padding-right' => '2em', ), ); $css_output .= astra_parse_css( $css_output_woo_select_default ); $is_sticky_add_to_cart_position_active = astra_get_option( 'single-product-sticky-add-to-cart' ); if ( is_product() && $is_sticky_add_to_cart_position_active ) { /** * Sticky add to cart variables. */ $sticky_add_to_cart_position = astra_get_option( 'single-product-sticky-add-to-cart-position' ); $sticky_add_to_cart_text_color = astra_get_option( 'single-product-sticky-add-to-cart-text-color' ); $sticky_add_to_cart_bg_color = astra_get_option( 'single-product-sticky-add-to-cart-bg-color' ); $sticky_add_to_cart_btn_text_color = astra_get_option( 'single-product-sticky-add-to-cart-btn-n-color' ); $sticky_add_to_cart_btn_text_color_h = astra_get_option( 'single-product-sticky-add-to-cart-btn-h-color' ); $sticky_add_to_cart_btn_bg_color = astra_get_option( 'single-product-sticky-add-to-cart-btn-bg-n-color' ); $sticky_add_to_cart_btn_bg_color_h = astra_get_option( 'single-product-sticky-add-to-cart-btn-bg-h-color' ); /** * Single product sticky add to cart. */ $sticky_add_to_cart = array( '.woocommerce .ast-sticky-add-to-cart .button.alt' => array( 'border-color' => $sticky_add_to_cart_btn_bg_color, 'color' => $sticky_add_to_cart_btn_text_color, 'background' => $sticky_add_to_cart_btn_bg_color, ), '.woocommerce .ast-sticky-add-to-cart .button.alt:hover' => array( 'border-color' => $sticky_add_to_cart_btn_bg_color_h, 'color' => $sticky_add_to_cart_btn_text_color_h, 'background' => $sticky_add_to_cart_btn_bg_color_h, ), '.ast-sticky-add-to-cart .ast-container .ast-sticky-add-to-cart-content' => array( 'color' => $sticky_add_to_cart_text_color ? $sticky_add_to_cart_text_color : 'var(--ast-global-color-3)', ), 'div.ast-sticky-add-to-cart' => array( 'background-color' => $sticky_add_to_cart_bg_color, ), ); if ( 'top' === $sticky_add_to_cart_position ) { $sticky_add_to_cart_p = array( 'div.ast-sticky-add-to-cart' => array( 'top' => '0', 'bottom' => 'initial', 'transform' => 'translate(0, -100%)', 'box-shadow' => '0px 1px 10px rgba(0, 0, 0, 0.1), 0px 1px 9px rgba(0, 0, 0, 0.06)', ), ); } else { $sticky_add_to_cart_p = array( 'div.ast-sticky-add-to-cart' => array( 'bottom' => '0', 'top' => 'initial', 'transform' => 'translate(0, 100%)', 'box-shadow' => '0px -1px 10px rgba(0, 0, 0, 0.1), 0px -1px 9px rgba(0, 0, 0, 0.06)', ), ); } $sticky_add_to_cart_responsive_mobile = array( '.ast-sticky-add-to-cart .ast-sticky-add-to-cart-content div.ast-sticky-add-to-cart-title-wrap, .ast-sticky-add-to-cart-action-price' => array( 'display' => 'none', ), '.ast-quantity-add-to-cart, .ast-sticky-add-to-cart-action-wrap, .ast-sticky-add-to-cart-action-wrap > form' => array( 'width' => '100%', ), ); $sticky_add_to_cart_responsive_tablet = array( '.ast-sticky-add-to-cart-title-wrap > img' => array( 'display' => 'none', ), 'div.ast-sticky-add-to-cart .ast-sticky-add-to-cart-content .ast-sticky-add-to-cart-title-wrap .ast-sticky-add-to-cart-title' => array( 'padding-' . $ltr_left . '' => '0', ), ); if ( is_admin_bar_showing() ) { $sticky_add_to_cart_admin_bar = array( '.admin-bar .ast-sticky-add-to-cart.top' => array( 'top' => '32px', ), ); $css_output .= astra_parse_css( $sticky_add_to_cart_admin_bar, '601' ); } /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css_output .= astra_parse_css( $sticky_add_to_cart_responsive_tablet, '', astra_get_tablet_breakpoint() ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css_output .= astra_parse_css( $sticky_add_to_cart_responsive_mobile, '', astra_get_mobile_breakpoint() ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css_output .= astra_parse_css( $sticky_add_to_cart_p ); $css_output .= astra_parse_css( $sticky_add_to_cart ); } $astra_add_to_cart_quantity_btn_enabled = astra_add_to_cart_quantity_btn_enabled(); // Add to cart quantity button. if ( $astra_add_to_cart_quantity_btn_enabled ) { $add_to_cart_quantity_btn_css = ''; $add_to_cart_quantity_btn_css .= ' .woocommerce-js .quantity.buttons_added { display: inline-flex; } .woocommerce-js .quantity.buttons_added + .button.single_add_to_cart_button { margin-' . $ltr_left . ': unset; } .woocommerce-js .quantity .qty { width: 2.631em; margin-' . $ltr_left . ': 38px; } .woocommerce-js .quantity .minus, .woocommerce-js .quantity .plus { width: 38px; display: flex; justify-content: center; background-color: transparent; border: 1px solid var(--ast-border-color); color: var(--ast-global-color-3); align-items: center; outline: 0; font-weight: 400; z-index: 3; } .woocommerce-js .quantity .minus { border-' . $ltr_right . '-width: 0; margin-' . $ltr_right . ': -38px; } .woocommerce-js .quantity .plus { border-' . $ltr_left . '-width: 0; margin-' . $ltr_right . ': 6px; } .woocommerce-js input[type=number] { max-width: 58px; min-height: 36px; } .woocommerce-js input[type=number].qty::-webkit-inner-spin-button, .woocommerce input[type=number].qty::-webkit-outer-spin-button { -webkit-appearance: none; } .woocommerce-js input[type=number].qty { -webkit-appearance: none; -moz-appearance: textfield; } '; $css_output .= $add_to_cart_quantity_btn_css; } // Modern archive layout. if ( 'shop-page-modern-style' === astra_get_option( 'shop-style' ) ) { $modern_shop_page_css = ''; if ( 'none' !== astra_get_option( 'product-sale-notification', 'default' ) ) { $modern_shop_page_css .= ' .ast-onsale-card { position: absolute; top: 1.5em; ' . esc_attr( $ltr_left ) . ': 1.5em; color: var(--ast-global-color-3); background-color: var(--ast-global-color-5); width: fit-content; border-radius: 20px; padding: 0.4em 0.8em; font-size: .87em; font-weight: 500; line-height: normal; letter-spacing: normal; box-shadow: 0 4px 4px rgba(0,0,0,0.15); opacity: 1; visibility: visible; z-index: 4; } @media(max-width: 420px) { .mobile-columns-3 .ast-onsale-card { top: 1em; ' . esc_attr( $ltr_left ) . ': 1em; } } '; } $modern_shop_page_css .= ' .ast-on-card-button { position: absolute; ' . esc_attr( $ltr_right ) . ': 1em; visibility: hidden; opacity: 0; transition: all 0.2s; z-index: 5; cursor: pointer; } .ast-on-card-button.ast-onsale-card { opacity: 1; visibility: visible; } .ast-on-card-button:hover .ast-card-action-tooltip, .ast-on-card-button:focus .ast-card-action-tooltip { opacity: 1; visibility: visible; } .ast-on-card-button:hover .ahfb-svg-iconset { opacity: 1; color: var(--ast-global-color-2); } .ast-on-card-button .ahfb-svg-iconset { border-radius: 50%; color: var(--ast-global-color-2); background: var(--ast-global-color-5); opacity: 0.7; width: 2em; height: 2em; justify-content: center; box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15); } .ast-on-card-button .ahfb-svg-iconset .ast-icon { -js-display: inline-flex; display: inline-flex; align-self: center; } .ast-on-card-button svg { fill: currentColor; } .ast-select-options-trigger { top: 1em; } .ast-select-options-trigger.loading:after { display: block; content: " "; position: absolute; top: 50%; ' . esc_attr( $ltr_right ) . ': 50%; ' . esc_attr( $ltr_left ) . ': auto; width: 16px; height: 16px; margin-top: -12px; margin-' . esc_attr( $ltr_right ) . ': -8px; background-color: var(--ast-global-color-2); background-image: none; border-radius: 100%; -webkit-animation: dotPulse 0.65s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8); animation: dotPulse 0.65s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8); } .ast-select-options-trigger.loading .ast-icon { display: none; } .ast-card-action-tooltip { background-color: var(--ast-global-color-2); pointer-events: none; white-space: nowrap; padding: 8px 9px; padding: 0.7em 0.9em; color: var(--ast-global-color-5); margin-' . esc_attr( $ltr_right ) . ': 10px; border-radius: 3px; font-size: 0.8em; line-height: 1; font-weight: normal; position: absolute; ' . esc_attr( $ltr_right ) . ': 100%; top: auto; visibility: hidden; opacity: 0; transition: all 0.2s; } .ast-card-action-tooltip:after { content: ""; position: absolute; top: 50%; margin-top: -5px; ' . esc_attr( $ltr_right ) . ': -10px; width: 0; height: 0; border-style: solid; border-width: 5px; border-color: transparent transparent transparent var(--ast-global-color-2); } .astra-shop-thumbnail-wrap:hover .ast-on-card-button:not(.ast-onsale-card) { opacity: 1; visibility: visible; } @media (max-width: 420px) { .mobile-columns-3 .ast-select-options-trigger { top: 0.5em; ' . esc_attr( $ltr_right ) . ': 0.5em; } } '; $css_output .= $modern_shop_page_css; } if ( self::load_theme_side_woocommerce_strcture() ) { $css_output .= $this->astra_shop_summary_box_alignment(); } /** * Single page variation tab layout. */ $woo_variation_layout = astra_get_option( 'single-product-variation-tabs-layout' ); if ( 'horizontal' === $woo_variation_layout ) { $css_output_woo_variation_layout = array( '.woocommerce div.product form.cart .variations tr' => array( 'display' => 'flex', 'flex-wrap' => 'wrap', 'margin-bottom' => '1em', ), '.woocommerce div.product form.cart .variations td' => array( 'width' => 'calc( 100% - 70px )', ), '.woocommerce div.product form.cart .variations td.label, .woocommerce div.product form.cart .variations th.label' => array( 'width' => '70px', 'padding-right' => '1em', ), ); $css_output .= astra_parse_css( $css_output_woo_variation_layout ); } /** * Woocommerce Active Filter Styles */ $woo_active_filter_css = array( '.ast-woo-active-filter-widget .wc-block-active-filters' => array( 'display' => esc_attr( 'flex' ), 'align-items' => esc_attr( 'self-start' ), 'justify-content' => esc_attr( 'space-between' ), ), '.ast-woo-active-filter-widget .wc-block-active-filters__clear-all' => array( 'flex' => esc_attr( 'none' ), 'margin-top' => esc_attr( '2px' ), ), ); $css_output .= astra_parse_css( $woo_active_filter_css ); // Single product payment. $single_product_payment_array = astra_get_option( 'single-product-structure' ); if ( is_array( $single_product_payment_array ) && ! empty( $single_product_payment_array ) && in_array( 'single-product-payments', $single_product_payment_array ) ) { $css_output .= ' .ast-single-product-payments { margin-bottom: 1em; display: inline-block; margin-top: 0; padding: 13px 20px 18px; border: 1px solid var(--ast-border-color); border-radius: 0.25rem; width: 100%; } .ast-single-product-payments.ast-text-color-version svg { fill: var(--ast-global-color-3); } .ast-single-product-payments.ast-text-color-version img { filter: grayscale(100%); } .ast-single-product-payments legend { padding: 0 8px; margin-bottom: 0; font-size: 1em; font-weight: 600; text-align: center; color: var(--ast-global-color-3); } .ast-single-product-payments ul { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; justify-content: center; } .ast-single-product-payments ul li { display: flex; width: 48px; margin: 0 0.5em 0.5em 0.5em; } .ast-single-product-payments ul li svg, .ast-single-product-payments ul li img { height: 30px; width: 100%; } '; } // Enable Show Password Icon on Login Form on Woocommerce Account Page. if ( is_account_page() && ! is_user_logged_in() && astra_load_woocommerce_login_form_password_icon() ) { $ltr_left = $is_site_rtl ? esc_attr( 'right' ) : esc_attr( 'left' ); $ltr_right = $is_site_rtl ? esc_attr( 'left' ) : esc_attr( 'right' ); $css_output_show_password_icon = array( '.woocommerce form .password-input, .woocommerce-page form .password-input' => array( 'display' => 'flex', 'flex-direction' => 'column', 'justify-content' => 'center', 'position' => 'relative', ), '.woocommerce form .show-password-input, .woocommerce-page form .show-password-input' => array( 'position' => 'absolute', $ltr_right => '0.7em', 'cursor' => 'pointer', 'top' => '0.7em', ), '.woocommerce form .show-password-input::after, .woocommerce-page form .show-password-input::after' => array( 'font-family' => 'WooCommerce', 'speak' => 'never', 'font-weight' => '400', 'font-variant' => 'normal', 'text-transform' => 'none', 'line-height' => '1', '-webkit-font-smoothing' => 'antialiased', 'margin-' . $ltr_left => '0.618em', 'content' => '"\e010"', 'text-decoration' => 'none', ), ); $css_output .= astra_parse_css( $css_output_show_password_icon ); } wp_add_inline_style( 'woocommerce-general', apply_filters( 'astra_theme_woocommerce_dynamic_css', $css_output ) ); /** * YITH WooCommerce Wishlist Style */ $yith_wcwl_main_style = array( '.yes-js.js_active .ast-plain-container.ast-single-post #primary' => array( 'margin' => esc_attr( '4em 0' ), ), '.js_active .ast-plain-container.ast-single-post .entry-header' => array( 'margin-top' => esc_attr( '0' ), ), '.woocommerce table.wishlist_table' => array( 'font-size' => esc_attr( '100%' ), ), '.woocommerce table.wishlist_table tbody td.product-name' => array( 'font-weight' => esc_attr( '700' ), ), '.woocommerce table.wishlist_table thead th' => array( 'border-top' => esc_attr( '0' ), ), '.woocommerce table.wishlist_table tr td.product-remove' => array( 'padding' => esc_attr( '.7em 1em' ), ), '.woocommerce table.wishlist_table tbody td' => array( 'border-right' => esc_attr( '0' ), ), '.woocommerce .wishlist_table td.product-add-to-cart a' => array( 'display' => esc_attr( 'inherit !important' ), ), '.wishlist_table tr td, .wishlist_table tr th.wishlist-delete, .wishlist_table tr th.product-checkbox' => array( 'text-align' => esc_attr( 'left' ), ), '.woocommerce #content table.wishlist_table.cart a.remove' => array( 'display' => esc_attr( 'inline-block' ), 'vertical-align' => esc_attr( 'middle' ), 'font-size' => esc_attr( '18px' ), 'font-weight' => esc_attr( 'normal' ), 'width' => esc_attr( '24px' ), 'height' => esc_attr( '24px' ), 'line-height' => esc_attr( '21px' ), 'color' => esc_attr( '#ccc !important' ), 'text-align' => esc_attr( 'center' ), 'border' => esc_attr( '1px solid #ccc' ), ), '.woocommerce #content table.wishlist_table.cart a.remove:hover' => array( 'color' => esc_attr( $link_color . '!important' ), 'border-color' => esc_attr( $link_color ), 'background-color' => esc_attr( '#ffffff' ), ), ); /* Parse CSS from array() */ $yith_wcwl_main_style = astra_parse_css( $yith_wcwl_main_style ); $yith_wcwl_main_style_small = array( '.yes-js.js_active .ast-plain-container.ast-single-post #primary' => array( 'padding' => esc_attr( '1.5em 0' ), 'margin' => esc_attr( '0' ), ), ); /* Parse CSS from array()*/ /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $yith_wcwl_main_style .= astra_parse_css( $yith_wcwl_main_style_small, '', astra_get_tablet_breakpoint() ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort wp_add_inline_style( 'yith-wcwl-main', $yith_wcwl_main_style ); } /** * Shop summary box wrapper alignment. * * @since 3.9.2 * @return string */ public function astra_shop_summary_box_alignment() { $shop_product_alignment = astra_get_option( 'shop-product-align-responsive' ); $desktop_alignment = ( isset( $shop_product_alignment['desktop'] ) ) ? $shop_product_alignment['desktop'] : ''; $tablet_alignment = ( isset( $shop_product_alignment['tablet'] ) ) ? $shop_product_alignment['tablet'] : ''; $mobile_alignment = ( isset( $shop_product_alignment['mobile'] ) ) ? $shop_product_alignment['mobile'] : ''; $is_site_rtl = is_rtl(); $ltr_left = $is_site_rtl ? 'right' : 'left'; $ltr_right = $is_site_rtl ? 'left' : 'right'; $tablet_breakpoint = astra_get_tablet_breakpoint(); $mobile_breakpoint = astra_get_mobile_breakpoint(); $desktop_css = ''; $tablet_css = ''; $mobile_css = ''; switch ( $desktop_alignment ) { case 'align-left': $desktop_css = ' .woocommerce ul.products li.product.desktop-align-left, .woocommerce-page ul.products li.product.desktop-align-left { text-align: ' . $ltr_left . '; } .woocommerce ul.products li.product.desktop-align-left .star-rating, .woocommerce ul.products li.product.desktop-align-left .button, .woocommerce-page ul.products li.product.desktop-align-left .star-rating, .woocommerce-page ul.products li.product.desktop-align-left .button { margin-left: 0; margin-right: 0; } '; break; case 'align-center': $desktop_css = ' .woocommerce ul.products li.product.desktop-align-center, .woocommerce-page ul.products li.product.desktop-align-center { text-align: center; } .woocommerce ul.products li.product.desktop-align-center .star-rating, .woocommerce-page ul.products li.product.desktop-align-center .star-rating { margin-left: auto; margin-right: auto; } '; break; case 'align-right': $desktop_css = ' .woocommerce ul.products li.product.desktop-align-right, .woocommerce-page ul.products li.product.desktop-align-right { text-align: ' . $ltr_right . '; } .woocommerce ul.products li.product.desktop-align-right .button, .woocommerce-page ul.products li.product.desktop-align-right .button { margin-left: 0; margin-right: 0; } .woocommerce ul.products li.product.desktop-align-right .star-rating, .woocommerce-page ul.products li.product.desktop-align-right .star-rating { margin-' . $ltr_left . ': auto; margin-' . $ltr_right . ': 0; } '; break; default: // code... break; } switch ( $tablet_alignment ) { case 'align-left': $tablet_css = ' .woocommerce ul.products li.product.tablet-align-left, .woocommerce-page ul.products li.product.tablet-align-left { text-align: ' . $ltr_left . '; } .woocommerce ul.products li.product.tablet-align-left .star-rating, .woocommerce ul.products li.product.tablet-align-left .button, .woocommerce-page ul.products li.product.tablet-align-left .star-rating, .woocommerce-page ul.products li.product.tablet-align-left .button { margin-left: 0; margin-right: 0; } '; break; case 'align-center': $tablet_css = ' .woocommerce ul.products li.product.tablet-align-center, .woocommerce-page ul.products li.product.tablet-align-center { text-align: center; } .woocommerce ul.products li.product.tablet-align-center .star-rating, .woocommerce-page ul.products li.product.tablet-align-center .star-rating { margin-left: auto; margin-right: auto; } '; break; case 'align-right': $tablet_css = ' .woocommerce ul.products li.product.tablet-align-right, .woocommerce-page ul.products li.product.tablet-align-right { text-align: ' . $ltr_right . '; } .woocommerce ul.products li.product.tablet-align-right .button, .woocommerce-page ul.products li.product.tablet-align-right .button { margin-left: 0; margin-right: 0; } .woocommerce ul.products li.product.tablet-align-right .star-rating, .woocommerce-page ul.products li.product.tablet-align-right .star-rating { margin-' . $ltr_left . ': auto; margin-' . $ltr_right . ': 0; } '; break; default: // code... break; } switch ( $mobile_alignment ) { case 'align-left': $mobile_css = ' .woocommerce ul.products li.product.mobile-align-left, .woocommerce-page ul.products li.product.mobile-align-left { text-align: ' . $ltr_left . '; } .woocommerce ul.products li.product.mobile-align-left .star-rating, .woocommerce ul.products li.product.mobile-align-left .button, .woocommerce-page ul.products li.product.mobile-align-left .star-rating, .woocommerce-page ul.products li.product.mobile-align-left .button { margin-left: 0; margin-right: 0; } '; break; case 'align-center': $mobile_css = ' .woocommerce ul.products li.product.mobile-align-center, .woocommerce-page ul.products li.product.mobile-align-center { text-align: center; } .woocommerce ul.products li.product.mobile-align-center .star-rating, .woocommerce-page ul.products li.product.mobile-align-center .star-rating { margin-left: auto; margin-right: auto; } '; break; case 'align-right': $mobile_css = ' .woocommerce ul.products li.product.mobile-align-right, .woocommerce-page ul.products li.product.mobile-align-right { text-align: ' . $ltr_right . '; } .woocommerce ul.products li.product.mobile-align-right .button, .woocommerce-page ul.products li.product.mobile-align-right .button { margin-left: 0; margin-right: 0; } .woocommerce ul.products li.product.mobile-align-right .star-rating, .woocommerce-page ul.products li.product.mobile-align-right .star-rating { margin-' . $ltr_left . ': auto; margin-' . $ltr_right . ': 0; } '; break; default: // code... break; } /** @psalm-suppress InvalidOperand */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort return $desktop_css . '@media(max-width: ' . $tablet_breakpoint . 'px){' . $tablet_css . '}' . '@media(max-width: ' . $mobile_breakpoint . 'px){' . $mobile_css . '}'; // phpcs:ignore Generic.Strings.UnnecessaryStringConcat.Found /** @psalm-suppress InvalidOperand */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort } /** * Register Customizer sections and panel for woocommerce * * @since 1.0.0 * @param WP_Customize_Manager $wp_customize Theme Customizer object. */ public function customize_register( $wp_customize ) { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound /** * Register Sections & Panels */ require ASTRA_THEME_DIR . 'inc/compatibility/woocommerce/customizer/class-astra-customizer-register-woo-section.php'; /** * Sections */ require ASTRA_THEME_DIR . 'inc/compatibility/woocommerce/customizer/sections/class-astra-woo-shop-container-configs.php'; require ASTRA_THEME_DIR . 'inc/compatibility/woocommerce/customizer/sections/class-astra-woo-shop-sidebar-configs.php'; require ASTRA_THEME_DIR . 'inc/compatibility/woocommerce/customizer/sections/layout/class-astra-woo-shop-layout-configs.php'; require ASTRA_THEME_DIR . 'inc/compatibility/woocommerce/customizer/sections/layout/class-astra-woo-shop-single-layout-configs.php'; require ASTRA_THEME_DIR . 'inc/compatibility/woocommerce/customizer/sections/layout/class-astra-woo-shop-cart-layout-configs.php'; require ASTRA_THEME_DIR . 'inc/compatibility/woocommerce/customizer/sections/layout/class-astra-woo-shop-misc-layout-configs.php'; require ASTRA_THEME_DIR . 'inc/compatibility/woocommerce/customizer/sections/class-astra-woo-store-notice-configs.php'; // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } /** * Add Cart icon markup * * @param String $output Markup. * @param String $section Section name. * @param String $section_type Section selected option. * @return Markup String. * * @since 1.0.0 */ public function astra_header_cart( $output, $section, $section_type ) { if ( 'woocommerce' === $section_type && apply_filters( 'astra_woo_header_cart_icon', true ) ) { $output = $this->woo_mini_cart_markup(); } return $output; } /** * Woocommerce mini cart markup markup * * @param string $device Either 'mobile' or 'desktop' option. * * @since 1.2.2 * @return html */ public function woo_mini_cart_markup( $device = 'desktop' ) { $class = is_cart() ? 'current-menu-item' : ''; $cart_click_action = astra_get_option( 'woo-header-cart-click-action', 'default' ); $desktop_cart_flyout = 'flyout' === $cart_click_action ? 'ast-desktop-cart-flyout' : ''; $cart_menu_classes = apply_filters( 'astra_cart_in_menu_class', array( 'ast-menu-cart-with-border', $desktop_cart_flyout ) ); ob_start(); if ( is_customize_preview() && true === Astra_Builder_Helper::$is_header_footer_builder_active ) { Astra_Builder_UI_Controller::render_customizer_edit_button(); } ?> <div class="ast-site-header-cart <?php echo esc_attr( implode( ' ', $cart_menu_classes ) ); ?>"> <div class="ast-site-header-cart-li <?php echo esc_attr( $class ); ?>"> <?php $this->astra_get_cart_link(); ?> </div> <div class="ast-site-header-cart-data"> <?php // Load 'Dropdown Cart' Widget when default option is selected and only for desktop header, for mobile flyout is loaded. if ( 'default' === $cart_click_action && 'desktop' === $device ) { the_widget( 'WC_Widget_Cart', 'title=' ); } ?> </div> </div> <?php return ob_get_clean(); } /** * Add Cart icon markup * * @param Array $options header options array. * * @return Array header options array. * @since 1.0.0 */ public function header_section_elements( $options ) { $options['woocommerce'] = 'WooCommerce'; return $options; } /** * Cart Link * Displayed a link to the cart including the number of items present and the cart total * * @return void * @since 1.0.0 */ public function astra_get_cart_link() { $view_shopping_cart = apply_filters( 'astra_woo_view_shopping_cart_title', __( 'View your shopping cart', 'astra' ) ); $woo_cart_link = wc_get_cart_url(); /** @psalm-suppress RedundantConditionGivenDocblockType */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $cart_count = null !== WC()->cart ? WC()->cart->get_cart_contents_count() : 0; /** @psalm-suppress RedundantConditionGivenDocblockType */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $aria_label = $cart_count > 0 ? "View Shopping Cart, {$cart_count} items" : 'View Shopping Cart, empty'; $cart_total_label_position = astra_get_option( 'woo-header-cart-icon-total-label-position' ); ?> <a href="<?php echo esc_url( $woo_cart_link ); ?>" class="cart-container ast-cart-desktop-position-<?php echo esc_attr( $cart_total_label_position['desktop'] ); ?> ast-cart-mobile-position-<?php echo esc_attr( $cart_total_label_position['mobile'] ); ?> ast-cart-tablet-position-<?php echo esc_attr( $cart_total_label_position['tablet'] ); ?>" aria-label="<?php echo esc_attr( $aria_label ); ?>"> <?php do_action( 'astra_woo_header_cart_icons_before' ); if ( apply_filters( 'astra_woo_default_header_cart_icon', true ) ) { ?> <div class="ast-cart-menu-wrap"> <span class="count"> <span class="ast-count-text"> <?php if ( apply_filters( 'astra_woo_header_cart_total', true ) && null != WC()->cart ) { echo WC()->cart->get_cart_contents_count(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } ?> </span> </span> </div> <?php } do_action( 'astra_woo_header_cart_icons_after' ); ?> </a> <?php } /** * Cart Fragments * Ensure cart contents update when products are added to the cart via AJAX * * @param array $fragments Fragments to refresh via AJAX. * @return array Fragments to refresh via AJAX */ public function cart_link_fragment( $fragments ) { // To fix the WooCommerce cart URL. /** @psalm-suppress UndefinedFunction */ add_filter( 'woocommerce_get_cart_url', 'astra_woocommerce_get_cart_url' ); ob_start(); $this->astra_get_cart_link(); $fragments['a.cart-container'] = ob_get_clean(); ob_start(); woocommerce_mini_cart(); $mini_cart = ob_get_clean(); remove_filter( 'woocommerce_get_cart_url', 'astra_woocommerce_get_cart_url' ); $fragments['div.widget_shopping_cart_content'] = '<div class="widget_shopping_cart_content">' . $mini_cart . '</div>'; return $fragments; } /** * Add shopping CTA in cart flyout. * * @since 3.9.0 */ public function astra_update_flyout_cart_layout() { if ( WC()->cart->is_empty() ) { do_action( 'astra_empty_cart_before' ); ?> <div class="ast-mini-cart-empty"> <div class="ast-mini-cart-message"> <p class="woocommerce-mini-cart__empty-message"><?php echo esc_html( apply_filters( 'astra_mini_cart_empty_msg', __( 'No products in the cart.', 'astra' ) ) ); ?></p> </div> <?php do_action( 'astra_empty_cart_content' ); ?> <div class="woocommerce-mini-cart__buttons"> <a href="<?php /** @psalm-suppress PossiblyFalseArgument */ echo esc_url( get_permalink( wc_get_page_id( 'shop' ) ) ); ?>" class="button wc-forward ast-continue-shopping"><?php esc_html_e( 'Continue Shopping', 'astra' ); ?></a> <?php // phpcs:ignore Generic.Commenting.DocComment.MissingShort ?> </div> </div> <?php do_action( 'astra_empty_cart_after' ); } } /** * Woocommerce Cart button html * * @since 3.9.0 * @return void */ public function woocommerce_proceed_to_checkout_button_html() { $cart_button_text = astra_get_option( 'woo-cart-button-text' ); if ( $cart_button_text ) { ?> <a href="<?php echo esc_url( wc_get_checkout_url() ); ?>" class="checkout-button button alt wc-forward"> <?php echo esc_attr( $cart_button_text ); ?> </a> <?php } } /** * Woocommerce Cart button text * * @since 3.9.0 * @return void */ public function woocommerce_proceed_to_checkout_button() { $enable_cart_button_text = astra_get_option( 'woo-enable-cart-button-text' ); $cart_button_text = astra_get_i18n_option( 'woo-cart-button-text', _x( '%astra%', 'WooCommerce Cart: Cart Button Text', 'astra' ) ); if ( $cart_button_text && $enable_cart_button_text ) { remove_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 ); add_action( 'woocommerce_proceed_to_checkout', array( $this, 'woocommerce_proceed_to_checkout_button_html' ), 20 ); } } /** * Update the "Customize" link to the Toolbar. * * @since 3.9.2 * * @param WP_Admin_Bar $wp_admin_bar The WP_Admin_Bar instance. */ public function astra_update_customize_admin_bar_link( $wp_admin_bar ) { $admin_bar_nodes = $wp_admin_bar->get_nodes(); if ( ! is_admin() && class_exists( 'WooCommerce' ) && isset( $admin_bar_nodes['customize'] ) ) { $customize_link = isset( $admin_bar_nodes['customize']->href ) ? $admin_bar_nodes['customize']->href : wp_customize_url(); /** @psalm-suppress PossiblyFalseOperand */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $current_url = substr( $customize_link, strpos( $customize_link, '?url=' ) + 1 ); /** @psalm-suppress PossiblyFalseOperand */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $wp_admin_bar->remove_node( 'customize' ); if ( is_product() ) { $customize_link = admin_url( 'customize.php' ) . '?autofocus[section]=section-woo-shop-single&' . $current_url; } if ( is_cart() ) { $customize_link = admin_url( 'customize.php' ) . '?autofocus[section]=section-woo-shop-cart&' . $current_url; } if ( is_checkout() ) { $customize_link = admin_url( 'customize.php' ) . '?autofocus[section]=woocommerce_checkout&' . $current_url; } if ( is_account_page() ) { $customize_link = admin_url( 'customize.php' ) . '?autofocus[section]=section-ast-woo-my-account&' . $current_url; } if ( is_shop() || is_product_taxonomy() ) { $customize_link = admin_url( 'customize.php' ) . '?autofocus[section]=woocommerce_product_catalog&' . $current_url; } $customize_node = array( 'id' => 'customize', 'title' => __( 'Customize', 'astra' ), 'href' => $customize_link, 'meta' => array( 'class' => 'hide-if-no-customize', ), ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $wp_admin_bar->add_node( $customize_node ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort } } /** * For existing users, do not load the wide/full width image CSS by default. * * @since 2.5.0 * @return boolean false if it is an existing user , true if not. */ public static function astra_global_btn_woo_comp() { $astra_settings = get_option( ASTRA_THEME_SETTINGS ); return apply_filters( 'astra_global_btn_woo_comp', isset( $astra_settings['global-btn-woo-css'] ) ? false : true ); } /** * Show the product title in the product loop. * * @param string $product_type product type. */ public function astra_woo_woocommerce_template_product_title( $product_type ) { if ( 'quick-view' === $product_type ) { /** @psalm-suppress PossiblyFalseArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort echo '<a href="' . esc_url( get_the_permalink() ) . '" class="ast-loop-product__link">'; /** @psalm-suppress PossiblyFalseArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort } woocommerce_template_single_title(); if ( 'quick-view' === $product_type ) { echo '</a>'; } } /** * Show the product catagories in the product loop. */ public function single_product_category() { /** @psalm-suppress InvalidGlobal */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort global $product; echo '<span class="single-product-category">' . wp_kses_post( wc_get_product_category_list( $product->get_id(), ', ' ) ) . '</span>'; } /** * Single Product Payments. * * @since 3.9.2 * @return void */ public function woocommerce_product_single_payments() { $section_title = astra_get_i18n_option( 'single-product-payment-text', _x( '%astra%', 'WooCommerce Single Product: Payments - Payment Title.', 'astra' ) ); $if_color_version = astra_get_option( 'single-product-payment-icon-color' ); ob_start(); ?> <?php $if_color_version_css = 'inherit_text_color' === $if_color_version ? 'ast-text-color-version' : 'ast-inherit-color-version'; ?> <fieldset class="ast-single-product-payments <?php echo esc_attr( $if_color_version_css ); ?>"> <legend><?php echo esc_html( $section_title ); ?></legend> <ul> <?php $colored_varients = array( 'cc-amex', 'cc-apple-pay', 'cc-discover', 'cc-mastercard', 'cc-paypal', 'cc-visa' ); $payment_list = astra_get_option( 'single-product-payment-list' ); if ( isset( $payment_list['items'] ) ) { foreach ( $payment_list['items'] as $single ) { if ( isset( $single['enabled'] ) && true === $single['enabled'] ) { if ( isset( $single['source'] ) && $single['source'] ) { if ( 'image' === $single['source'] ) { if ( isset( $single['image'] ) && $single['image'] ) { $image_id = attachment_url_to_postid( $single['image'] ); $image_alt = get_post_meta( $image_id, '_wp_attachment_image_alt', true ); ?> <li class="ast-custom-payment"> <img src="<?php echo esc_url( $single['image'] ); ?>" alt="<?php echo esc_attr( $image_alt ); ?>" /> </li> <?php } } else { if ( isset( $single['icon'] ) && $single['icon'] ) { $selected_icon = in_array( $single['icon'], $colored_varients ) && 'inherit_text_color' !== $if_color_version ? $single['icon'] . '-c' : $single['icon']; ?> <li class="ast-custom-payment"> <?php echo do_shortcode( Astra_Builder_UI_Controller::fetch_svg_icon( $selected_icon, false ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> </li> <?php } } } } } } ?> </ul> </fieldset> <?php echo do_shortcode( ob_get_clean() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Show the product title in the product loop. By default this is an H2. * * @param string $product_type product type. */ public function single_product_content_structure( $product_type = '' ) { /** @psalm-suppress TooManyArguments */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $single_structure = apply_filters( 'astra_woo_single_product_structure', astra_get_option( 'single-product-structure' ), $product_type ); if ( is_array( $single_structure ) && ! empty( $single_structure ) ) { // @codingStandardsIgnoreStart /** * @psalm-suppress UndefinedClass * @psalm-suppress InvalidScalarArgument */ $astra_addons_condition = astra_has_pro_woocommerce_addon(); // @codingStandardsIgnoreEnd foreach ( $single_structure as $value ) { switch ( $value ) { case 'title': /** * Add Product Title on single product page for all products. */ do_action( 'astra_woo_single_title_before' ); $this->astra_woo_woocommerce_template_product_title( $product_type ); do_action( 'astra_woo_single_title_after' ); break; case 'price': /** * Add Product Price on single product page for all products. */ do_action( 'astra_woo_single_price_before' ); woocommerce_template_single_price(); do_action( 'astra_woo_single_price_after' ); break; case 'ratings': /** * Add rating on single product page for all products. */ do_action( 'astra_woo_single_rating_before' ); woocommerce_template_single_rating(); do_action( 'astra_woo_single_rating_after' ); break; case 'short_desc': do_action( 'astra_woo_single_short_description_before' ); woocommerce_template_single_excerpt(); do_action( 'astra_woo_single_short_description_after' ); break; case 'add_cart': do_action( 'astra_woo_single_add_to_cart_before' ); woocommerce_template_single_add_to_cart(); do_action( 'astra_woo_single_add_to_cart_after' ); break; case 'summary-extras': /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( $astra_addons_condition && is_callable( array( ASTRA_Ext_WooCommerce_Markup::get_instance(), 'single_product_extras' ) ) ) { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort do_action( 'astra_woo_single_extras_before' ); ASTRA_Ext_WooCommerce_Markup::get_instance()->single_product_extras(); do_action( 'astra_woo_single_extras_after' ); } break; case 'single-product-payments': /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort do_action( 'astra_woo_single_product_payments_before' ); $this->woocommerce_product_single_payments(); do_action( 'astra_woo_single_product_payments_after' ); break; case 'meta': do_action( 'astra_woo_single_category_before' ); woocommerce_template_single_meta(); do_action( 'astra_woo_single_category_after' ); break; case 'category': do_action( 'astra_woo_single_product_category_before' ); $this->single_product_category(); do_action( 'astra_woo_single_product_category_after' ); break; default: break; } } // Product single tabs accordion. if ( $astra_addons_condition && astra_get_option( 'accordion-inside-woo-summary' ) && 'accordion' === astra_get_option( 'single-product-tabs-layout' ) && astra_get_option( 'single-product-tabs-display' ) ) { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort ASTRA_Ext_WooCommerce_Markup::get_instance()->woo_product_tabs_layout_output(); } } } /** * Single product sticky add to cart. * * @return void * @since 3.9.0 */ public function single_product_sticky_add_to_cart() { if ( is_product() && astra_get_option( 'single-product-sticky-add-to-cart' ) ) { /** @psalm-suppress InvalidGlobal */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort global $post; $product = wc_get_product( $post->ID ); $sticky_position = astra_get_option( 'single-product-sticky-add-to-cart-position' ); $add_to_cart_ajax = astra_get_option( 'single-product-ajax-add-to-cart' ); // @codingStandardsIgnoreStart /** * @psalm-suppress PossiblyNullReference * @psalm-suppress PossiblyFalseReference */ if ( ( $product->is_purchasable() && ( $product->is_in_stock() || $product->backorders_allowed() ) ) || $product->is_type( 'external' ) ) { // @codingStandardsIgnoreEnd if ( is_customize_preview() ) { echo '<div class="ast-sticky-add-to-cart customizer-item-block-preview customizer-navigate-on-focus ' . esc_attr( $sticky_position ) . '" data-section="astra-settings[single-product-sticky-add-to-cart]" data-type="control">'; /** @psalm-suppress TooManyArguments */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort Astra_Builder_UI_Controller::render_customizer_edit_button( 'row-editor-shortcut' ); } else { echo '<div class="ast-sticky-add-to-cart ' . esc_attr( $sticky_position ) . '">'; } echo '<div class="ast-container">'; echo '<div class="ast-sticky-add-to-cart-content">'; echo '<div class="ast-sticky-add-to-cart-title-wrap">'; echo wp_kses_post( woocommerce_get_product_thumbnail() ); echo '<span class="ast-sticky-add-to-cart-title">' . wp_kses_post( get_the_title() ) . '</span>'; echo '</div>'; echo '<div class="ast-sticky-add-to-cart-action-wrap">'; // @codingStandardsIgnoreStart /** * @psalm-suppress PossiblyNullReference * @psalm-suppress PossiblyFalseReference */ if ( $product->is_type( 'simple' ) || $product->is_type( 'external' ) || $product->is_type( 'subscription' ) ) { // @codingStandardsIgnoreEnd /** @psalm-suppress PossiblyFalseReference */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort echo '<span class="ast-sticky-add-to-cart-action-price price">' . wp_kses_post( $product->get_price_html() ) . '</span>'; /** @psalm-suppress PossiblyFalseReference */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( $add_to_cart_ajax ) { echo '<div id="sticky-add-to-cart">'; } woocommerce_template_single_add_to_cart(); if ( $add_to_cart_ajax ) { echo '</div>'; } } else { /** @psalm-suppress PossiblyNullReference */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort echo '<span class="ast-sticky-add-to-cart-action-price price">' . wp_kses_post( $product->get_price_html() ) . '</span>'; /** @psalm-suppress InvalidScalarArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort echo '<a href="#product-' . esc_attr( $product->get_ID() ) . '" class="single_link_to_cart_button button alt">' . esc_html( $product->add_to_cart_text() ) . '</a>'; /** @psalm-suppress InvalidScalarArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort } echo '</div>'; echo '</div>'; echo '</div>'; echo '</div>'; } } } /** * Enable ajax add to cart for shop page. * * @param string $value ajax add to cart value. * @return string yes | no enable / disable ajax add to cart. * @since 4.1.0 */ public function option_woocommerce_enable_ajax_add_to_cart( $value ) { $astra_shop_add_to_cart = astra_get_option( 'shop-add-to-cart-action' ); if ( $astra_shop_add_to_cart && 'default' !== $astra_shop_add_to_cart ) { return 'yes'; } return $value; } /** * Enable ajax add to cart redirect. * * @param string $value cart redirect after add value. * @return string yes | no enable / disable cart redirect after add. * @since 4.1.0 */ public function option_woocommerce_cart_redirect_after_add( $value ) { $astra_shop_add_to_cart = astra_get_option( 'shop-add-to-cart-action' ); if ( $astra_shop_add_to_cart && 'default' !== $astra_shop_add_to_cart ) { return 'no'; } return $value; } } endif; if ( apply_filters( 'astra_enable_woocommerce_integration', true ) ) { Astra_Woocommerce::get_instance(); } woocommerce/woocommerce-common-functions.php 0000644 00000026204 15006151013 0015403 0 ustar 00 <?php /** * Custom functions that used for Woocommerce compatibility. * * Eventually, some of the functionality here could be replaced by core features. * * @package Astra * @link https://wpastra.com/ * @since Astra 1.1.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Shop page - Products Title markup updated */ if ( ! function_exists( 'astra_woo_shop_products_title' ) ) : /** * Shop Page product titles with anchor * * @hooked woocommerce_after_shop_loop_item - 10 * * @since 1.1.0 */ function astra_woo_shop_products_title() { echo '<a href="' . esc_url( get_the_permalink() ) . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">'; echo '<h2 class="woocommerce-loop-product__title">' . esc_html( get_the_title() ) . '</h2>'; echo '</a>'; } endif; /** * Shop page - Parent Category */ if ( ! function_exists( 'astra_woo_shop_parent_category' ) ) : /** * Add and/or Remove Categories from shop archive page. * * @hooked woocommerce_after_shop_loop_item - 9 * * @since 1.1.0 */ function astra_woo_shop_parent_category() { if ( apply_filters( 'astra_woo_shop_parent_category', true ) ) : ?> <span class="ast-woo-product-category"> <?php global $product; $product_categories = function_exists( 'wc_get_product_category_list' ) ? wc_get_product_category_list( get_the_ID(), ';', '', '' ) : $product->get_categories( ';', '', '' ); $product_categories = html_entity_decode( wp_strip_all_tags( $product_categories ) ); if ( $product_categories ) { list( $parent_cat ) = explode( ';', $product_categories ); echo apply_filters( 'astra_woo_shop_product_categories', esc_html( $parent_cat ), get_the_ID() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } ?> </span> <?php endif; } endif; /** * Shop page - Out of Stock */ if ( ! function_exists( 'astra_woo_shop_out_of_stock' ) ) : /** * Add Out of Stock to the Shop page * * @hooked woocommerce_shop_loop_item_title - 8 * * @since 1.1.0 */ function astra_woo_shop_out_of_stock() { $out_of_stock = get_post_meta( get_the_ID(), '_stock_status', true ); $out_of_stock_string = apply_filters( 'astra_woo_shop_out_of_stock_string', __( 'Out of stock', 'astra' ) ); if ( 'outofstock' === $out_of_stock ) { ?> <span class="ast-shop-product-out-of-stock"><?php echo esc_html( $out_of_stock_string ); ?></span> <?php } } endif; /** * Shop page - Short Description */ if ( ! function_exists( 'astra_woo_shop_product_short_description' ) ) : /** * Product short description * * @hooked woocommerce_after_shop_loop_item * * @since 1.1.0 */ function astra_woo_shop_product_short_description() { ?> <?php if ( has_excerpt() ) { ?> <div class="ast-woo-shop-product-description"> <?php the_excerpt(); ?> </div> <?php } ?> <?php } endif; /** * Product page - Availability: in stock */ if ( ! function_exists( 'astra_woo_product_in_stock' ) ) : /** * Availability: in stock string updated * * @param string $markup Markup. * @param object $product Object of Product. * * @since 1.1.0 */ function astra_woo_product_in_stock( $markup, $product ) { if ( is_product() ) { $product_avail = $product->get_availability(); $stock_quantity = $product->get_stock_quantity(); $availability = $product_avail['availability']; $avail_class = $product_avail['class']; if ( ! empty( $availability ) && $stock_quantity ) { ob_start(); ?> <p class="ast-stock-detail"> <span class="ast-stock-avail"><?php esc_html_e( 'Availability:', 'astra' ); ?></span> <span class="stock <?php echo esc_html( $avail_class ); ?>"><?php echo esc_html( $availability ); ?></span> </p> <?php $markup = ob_get_clean(); } } return $markup; } endif; if ( ! function_exists( 'astra_woo_woocommerce_template_loop_product_title' ) ) { /** * Show the product title in the product loop. By default this is an H2. */ function astra_woo_woocommerce_template_loop_product_title() { $product_title_link = apply_filters( 'astra_woo_shop_product_title_link', '__return_true' ); if ( $product_title_link ) { echo '<a href="' . esc_url( get_the_permalink() ) . '" class="ast-loop-product__link">'; woocommerce_template_loop_product_title(); echo '</a>'; } else { woocommerce_template_loop_product_title(); } } } if ( ! function_exists( 'astra_woo_woocommerce_shop_product_content' ) ) { /** * Show the product title in the product loop. By default this is an H2. */ function astra_woo_woocommerce_shop_product_content() { $shop_structure = apply_filters( 'astra_woo_shop_product_structure', astra_get_option( 'shop-product-structure' ) ); if ( is_array( $shop_structure ) && ! empty( $shop_structure ) ) { do_action( 'astra_woo_shop_before_summary_wrap' ); echo '<div class="astra-shop-summary-wrap">'; do_action( 'astra_woo_shop_summary_wrap_top' ); foreach ( $shop_structure as $value ) { switch ( $value ) { case 'title': /** * Add Product Title on shop page for all products. */ do_action( 'astra_woo_shop_title_before' ); astra_woo_woocommerce_template_loop_product_title(); do_action( 'astra_woo_shop_title_after' ); break; case 'price': /** * Add Product Price on shop page for all products. */ do_action( 'astra_woo_shop_price_before' ); woocommerce_template_loop_price(); do_action( 'astra_woo_shop_price_after' ); break; case 'ratings': /** * Add rating on shop page for all products. */ do_action( 'astra_woo_shop_rating_before' ); woocommerce_template_loop_rating(); do_action( 'astra_woo_shop_rating_after' ); break; case 'short_desc': do_action( 'astra_woo_shop_short_description_before' ); astra_woo_shop_product_short_description(); do_action( 'astra_woo_shop_short_description_after' ); break; case 'add_cart': do_action( 'astra_woo_shop_add_to_cart_before' ); woocommerce_template_loop_add_to_cart(); do_action( 'astra_woo_shop_add_to_cart_after' ); break; case 'category': /** * Add and/or Remove Categories from shop archive page. */ do_action( 'astra_woo_shop_category_before' ); astra_woo_shop_parent_category(); do_action( 'astra_woo_shop_category_after' ); break; default: break; } } do_action( 'astra_woo_shop_summary_wrap_bottom' ); echo '</div>'; do_action( 'astra_woo_shop_after_summary_wrap' ); } } } if ( ! function_exists( 'astra_woo_shop_thumbnail_wrap_start' ) ) { /** * Thumbnail wrap start. */ function astra_woo_shop_thumbnail_wrap_start() { echo '<div class="astra-shop-thumbnail-wrap">'; } } if ( ! function_exists( 'astra_woo_shop_thumbnail_wrap_end' ) ) { /** * Thumbnail wrap end. */ function astra_woo_shop_thumbnail_wrap_end() { echo '</div>'; } } /** * Woocommerce filter - Widget Products Tags */ if ( ! function_exists( 'astra_widget_product_tag_cloud_args' ) ) { /** * Woocommerce filter - Widget Products Tags * * @param array $args Tag arguments. * @return array Modified tag arguments. */ function astra_widget_product_tag_cloud_args( $args = array() ) { $sidebar_link_font_size = astra_get_option( 'font-size-body' ); $sidebar_link_font_size['desktop'] = ( '' != $sidebar_link_font_size['desktop'] ) ? $sidebar_link_font_size['desktop'] : 15; $args['smallest'] = intval( $sidebar_link_font_size['desktop'] ) - 2; $args['largest'] = intval( $sidebar_link_font_size['desktop'] ) + 3; $args['unit'] = 'px'; return apply_filters( 'astra_widget_product_tag_cloud_args', $args ); } add_filter( 'woocommerce_product_tag_cloud_widget_args', 'astra_widget_product_tag_cloud_args', 90 ); } /** * Woocommerce shop/product div close tag. */ if ( ! function_exists( 'astra_woocommerce_div_wrapper_close' ) ) : /** * Woocommerce shop/product div close tag. * * @return void */ function astra_woocommerce_div_wrapper_close() { echo '</div>'; } endif; /** * Checking whether shop page style is selected as modern layout. */ if ( ! function_exists( 'astra_is_shop_page_modern_style' ) ) : /** * Checking whether shop page style is selected as modern layout. * * @return bool true|false. */ function astra_is_shop_page_modern_style() { return ( 'shop-page-modern-style' === astra_get_option( 'shop-style' ) ) ? true : false; } endif; /** * Check if Woocommerce pro addons is enabled. * * @return bool true|false. */ function astra_has_pro_woocommerce_addon() { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort return ( defined( 'ASTRA_EXT_VER' ) && Astra_Ext_Extension::is_active( 'woocommerce' ) ) ? true : false; /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort } /** * Support cart color setting to default cart icon, till now with other cart icons have this color compatibility but default one don't have this. * This case is only for old header layout. * * @since 3.9.2 * @return boolean false if it is an existing user, true if not. */ function astra_cart_color_default_icon_old_header() { $astra_settings = get_option( ASTRA_THEME_SETTINGS ); return apply_filters( 'astra_support_default_cart_color_in_old_header', isset( $astra_settings['can-reflect-cart-color-in-old-header'] ) ? false : true ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound } /** * Function to check the Add to Cart quantity buttons. * * @return bool true|false. * @since 3.9.2 */ function astra_add_to_cart_quantity_btn_enabled() { return apply_filters( 'astra_add_to_cart_quantity_btn_enabled', astra_get_option( 'single-product-plus-minus-button' ) ); } /** * Woocommerce MyAccount Page Endpoint. */ if ( ! function_exists( 'astra_get_wc_endpoints_title' ) ) { /** * Woocommerce MyAccount Page Endpoint. * * @param string $title for MyAccount title endpoint. * @return string * * @since 4.3.0 */ function astra_get_wc_endpoints_title( $title ) { if ( class_exists( 'WooCommerce' ) && is_wc_endpoint_url() && is_account_page() ) { $endpoint = WC()->query->get_current_endpoint(); $action = isset( $_GET['action'] ) && is_string( $_GET['action'] ) ? sanitize_text_field( wp_unslash( $_GET['action'] ) ) : ''; $ep_title = $endpoint ? WC()->query->get_endpoint_title( $endpoint, $action ) : ''; if ( $ep_title ) { return $ep_title; } } return $title; } add_filter( 'astra_the_title', 'astra_get_wc_endpoints_title' ); } if ( ! function_exists( 'astra_woocommerce_get_cart_url' ) ) { /** * Filters and returns the WooCommerce cart URL for compatibility with WooCommerce 9.3.0. * * @param string $cart_url WooCommerce cart page URL. * * @return string Returns the filtered WooCommerce cart page URL. * * @since 4.8.3 */ function astra_woocommerce_get_cart_url( $cart_url ) { // Check if WooCommerce function exists. if ( function_exists( 'wc_get_page_permalink' ) ) { $cart_url = wc_get_page_permalink( 'cart' ); } return $cart_url; } } class-astra-gravity-forms.php 0000644 00000002506 15006151013 0012274 0 ustar 00 <?php /** * Gravity Forms File. * * @package Astra */ // If plugin - 'Gravity Forms' not exist then return. if ( ! class_exists( 'GFForms' ) ) { return; } /** * Astra Gravity Forms */ if ( ! class_exists( 'Astra_Gravity_Forms' ) ) : /** * Astra Gravity Forms * * @since 1.0.0 */ class Astra_Gravity_Forms { /** * 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() { if ( Astra_Dynamic_CSS::astra_4_6_0_compatibility() ) { return; } add_action( 'gform_enqueue_scripts', array( $this, 'add_styles' ) ); } /** * Add assets in theme * * @since 1.0.0 */ public function add_styles() { $file_prefix = '.min'; $dir_name = 'minified'; if ( is_rtl() ) { $file_prefix .= '-rtl'; } $css_file = ASTRA_THEME_URI . 'assets/css/' . $dir_name . '/compatibility/gravity-forms' . $file_prefix . '.css'; wp_enqueue_style( 'astra-gravity-forms', $css_file, array(), ASTRA_THEME_VERSION, 'all' ); } } endif; /** * Kicking this off by calling 'get_instance()' method */ Astra_Gravity_Forms::get_instance(); class-astra-bne-flyout.php 0000644 00000002224 15006151013 0011544 0 ustar 00 <?php /** * BNE Flyout Compatibility File. * * @package Astra */ // If plugin - 'BNE Flyout' not exist then return. if ( ! defined( 'BNE_FLYOUT_VERSION' ) ) { return; } /** * Astra BNE Flyout Compatibility */ if ( ! class_exists( 'Astra_BNE_Flyout' ) ) : /** * Astra BNE Flyout Compatibility * * @since 1.0.0 */ class Astra_BNE_Flyout { /** * 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 assets in theme * * @param array $assets list of theme assets (JS & CSS). * @return array List of updated assets. * @since 1.0.0 */ public function add_styles( $assets ) { $assets['css']['astra-bne-flyout'] = 'compatibility/bne-flyout'; return $assets; } } endif; /** * Kicking this off by calling 'get_instance()' method */ Astra_BNE_Flyout::get_instance(); class-astra-divi-builder.php 0000644 00000002200 15006151013 0012031 0 ustar 00 <?php /** * Divi Builder File. * * @package Astra */ // If plugin - 'Divi Builder' not exist then return. if ( ! class_exists( 'ET_Builder_Plugin' ) ) { return; } /** * Astra Divi Builder */ if ( ! class_exists( 'Astra_Divi_Builder' ) ) : /** * Astra Divi Builder * * @since 1.4.0 */ class Astra_Divi_Builder { /** * 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 assets in theme * * @param array $assets list of theme assets (JS & CSS). * @return array List of updated assets. * @since 1.4.0 */ public function add_styles( $assets ) { $assets['css']['astra-divi-builder'] = 'compatibility/divi-builder'; return $assets; } } endif; /** * Kicking this off by calling 'get_instance()' method */ Astra_Divi_Builder::get_instance(); class-astra-beaver-themer.php 0000644 00000026444 15006151013 0012220 0 ustar 00 <?php /** * Beaver Themer Compatibility File. * * @package Astra */ // If plugin - 'Beaver Themer' not exist then return. if ( ! class_exists( 'FLThemeBuilderLoader' ) || ! class_exists( 'FLThemeBuilderLayoutData' ) ) { return; } /** * Astra Beaver Themer Compatibility */ if ( ! class_exists( 'Astra_Beaver_Themer' ) ) : /** * Astra Beaver Themer Compatibility * * @since 1.0.0 */ class Astra_Beaver_Themer { /** * 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_action( 'after_setup_theme', array( $this, 'header_footer_support' ) ); add_action( 'wp', array( $this, 'theme_header_footer_render' ) ); add_filter( 'fl_theme_builder_part_hooks', array( $this, 'register_part_hooks' ) ); add_filter( 'post_class', array( $this, 'render_post_class' ), 99 ); add_action( 'fl_theme_builder_before_render_content', array( $this, 'builder_before_render_content' ), 10, 1 ); add_action( 'fl_theme_builder_after_render_content', array( $this, 'builder_after_render_content' ), 10, 1 ); add_filter( 'astra_dynamic_theme_css', array( $this, 'beaver_themer_compatibility_styles' ) ); } /** * Builder Template Content layout set as Full Width / Stretched * * @param string $layout Content Layout. * @return string * @since 1.0.2 */ public function builder_template_content_layout( $layout ) { $ids = FLThemeBuilderLayoutData::get_current_page_content_ids(); $post_type = get_post_type(); if ( 'fl-theme-layout' == $post_type ) { remove_action( 'astra_entry_after', 'astra_single_post_navigation_markup' ); } if ( empty( $ids ) && 'fl-theme-layout' != $post_type ) { return $layout; } return 'page-builder'; } /** * Compatibility CSS for Beaver Themer Builder. * * @param string $dynamic_css Astra Dynamic CSS. * @return string $dynamic_css Generated CSS. * * @since 4.6.15 */ public function beaver_themer_compatibility_styles( $dynamic_css ) { if ( class_exists( 'FLBuilderModel' ) ) { $beaver_themer_styles = array( '.fl-row-content-wrap [CLASS*="ast-width-"] ' => array( 'width' => '100%', ), 'body.fl-theme-builder-header.fl-theme-builder-part.fl-theme-builder-part-part #page' => array( 'display' => 'block', ), ); // Parse CSS from array. $parse_css = astra_parse_css( $beaver_themer_styles ); // Appended parsed CSS. $dynamic_css .= $parse_css; } return $dynamic_css; } /** * Remove theme post's default classes * * @param array $classes Post Classes. * @return array * @since 1.0.2 */ public function render_post_class( $classes ) { $post_class = array( 'fl-post-grid-post', 'fl-post-gallery-post', 'fl-post-feed-post' ); $result = array_intersect( $classes, $post_class ); if ( count( $result ) > 0 ) { $classes = array_diff( $classes, array( // Astra common grid. 'ast-col-xs-1', 'ast-col-xs-2', 'ast-col-xs-3', 'ast-col-xs-4', 'ast-col-xs-5', 'ast-col-xs-6', 'ast-col-xs-7', 'ast-col-xs-8', 'ast-col-xs-9', 'ast-col-xs-10', 'ast-col-xs-11', 'ast-col-xs-12', 'ast-col-sm-1', 'ast-col-sm-2', 'ast-col-sm-3', 'ast-col-sm-4', 'ast-col-sm-5', 'ast-col-sm-6', 'ast-col-sm-7', 'ast-col-sm-8', 'ast-col-sm-9', 'ast-col-sm-10', 'ast-col-sm-11', 'ast-col-sm-12', 'ast-col-md-1', 'ast-col-md-2', 'ast-col-md-3', 'ast-col-md-4', 'ast-col-md-5', 'ast-col-md-6', 'ast-col-md-7', 'ast-col-md-8', 'ast-col-md-9', 'ast-col-md-10', 'ast-col-md-11', 'ast-col-md-12', 'ast-col-lg-1', 'ast-col-lg-2', 'ast-col-lg-3', 'ast-col-lg-4', 'ast-col-lg-5', 'ast-col-lg-6', 'ast-col-lg-7', 'ast-col-lg-8', 'ast-col-lg-9', 'ast-col-lg-10', 'ast-col-lg-11', 'ast-col-lg-12', 'ast-col-xl-1', 'ast-col-xl-2', 'ast-col-xl-3', 'ast-col-xl-4', 'ast-col-xl-5', 'ast-col-xl-6', 'ast-col-xl-7', 'ast-col-xl-8', 'ast-col-xl-9', 'ast-col-xl-10', 'ast-col-xl-11', 'ast-col-xl-12', // Astra Blog / Single Post. 'ast-article-post', 'ast-article-single', 'ast-separate-posts', 'remove-featured-img-padding', 'ast-featured-post', // Astra Woocommerce. 'ast-product-gallery-layout-vertical', 'ast-product-gallery-layout-horizontal', 'ast-product-gallery-with-no-image', 'ast-product-tabs-layout-vertical', 'ast-product-tabs-layout-horizontal', 'ast-qv-disabled', 'ast-qv-on-image', 'ast-qv-on-image-click', 'ast-qv-after-summary', 'astra-woo-hover-swap', 'box-shadow-0', 'box-shadow-0-hover', 'box-shadow-1', 'box-shadow-1-hover', 'box-shadow-2', 'box-shadow-2-hover', 'box-shadow-3', 'box-shadow-3-hover', 'box-shadow-4', 'box-shadow-4-hover', 'box-shadow-5', 'box-shadow-5-hover', ) ); add_filter( 'astra_post_link_enabled', '__return_false' ); } return $classes; } /** * Function to add Theme Support * * @since 1.0.0 */ public function header_footer_support() { add_theme_support( 'fl-theme-builder-headers' ); add_theme_support( 'fl-theme-builder-footers' ); add_theme_support( 'fl-theme-builder-parts' ); } /** * Function to update Atra header/footer with Beaver template * * @since 1.0.0 */ public function theme_header_footer_render() { // Get the header ID. $header_ids = FLThemeBuilderLayoutData::get_current_page_header_ids(); // If we have a header, remove the theme header and hook in Theme Builder's. if ( ! empty( $header_ids ) ) { remove_action( 'astra_header', 'astra_header_markup' ); add_action( 'astra_header', 'FLThemeBuilderLayoutRenderer::render_header' ); } // Get the footer ID. $footer_ids = FLThemeBuilderLayoutData::get_current_page_footer_ids(); // If we have a footer, remove the theme footer and hook in Theme Builder's. if ( ! empty( $footer_ids ) ) { remove_action( 'astra_footer', array( Astra_Builder_Footer::get_instance(), 'footer_markup' ) ); remove_action( 'astra_footer', 'astra_footer_markup' ); add_action( 'astra_footer', 'FLThemeBuilderLayoutRenderer::render_footer' ); } // BB Themer Support. $template_ids = FLThemeBuilderLayoutData::get_current_page_content_ids(); if ( ! empty( $template_ids ) ) { $template_id = $template_ids[0]; $template_type = get_post_meta( $template_id, '_fl_theme_layout_type', true ); if ( 'archive' === $template_type || 'singular' === $template_type || '404' === $template_type ) { $sidebar = get_post_meta( $template_id, 'site-sidebar-layout', true ); if ( 'default' !== $sidebar ) { add_filter( 'astra_page_layout', function( $page_layout ) use ( $sidebar ) { // phpcs:ignore PHPCompatibility.FunctionDeclarations.NewClosure.Found return $sidebar; } ); } $content_layout = get_post_meta( $template_id, 'site-content-layout', true ); if ( 'default' !== $content_layout ) { add_filter( 'astra_get_content_layout', function( $layout ) use ( $content_layout ) {// phpcs:ignore PHPCompatibility.FunctionDeclarations.NewClosure.Found return $content_layout; } ); } $main_header_display = get_post_meta( $template_id, 'ast-main-header-display', true ); if ( 'disabled' === $main_header_display ) { if ( 'archive' === $template_type ) { remove_action( 'astra_masthead', 'astra_masthead_primary_template' ); } else { add_filter( 'astra_main_header_display', function( $display_header ) {// phpcs:ignore PHPCompatibility.FunctionDeclarations.NewClosure.Found return 'disabled'; } ); } } $footer_layout = get_post_meta( $template_id, 'footer-sml-layout', true ); if ( 'disabled' === $footer_layout ) { add_filter( 'astra_footer_sml_layout', function( $is_footer ) {// phpcs:ignore PHPCompatibility.FunctionDeclarations.NewClosure.Found return 'disabled'; } ); } // Override! Footer Widgets. $footer_widgets = get_post_meta( $template_id, 'footer-adv-display', true ); if ( 'disabled' === $footer_widgets ) { add_filter( 'astra_advanced_footer_disable', '__return_true' ); } } } } /** * Function to Astra theme parts * * @since 1.0.0 */ public function register_part_hooks() { return array( array( 'label' => 'Page', 'hooks' => array( 'astra_body_top' => __( 'Before Page', 'astra' ), 'astra_body_bottom' => __( 'After Page', 'astra' ), ), ), array( 'label' => 'Header', 'hooks' => array( 'astra_header_before' => __( 'Before Header', 'astra' ), 'astra_header_after' => __( 'After Header', 'astra' ), ), ), array( 'label' => 'Content', 'hooks' => array( 'astra_primary_content_top' => __( 'Before Content', 'astra' ), 'astra_primary_content_bottom' => __( 'After Content', 'astra' ), ), ), array( 'label' => 'Footer', 'hooks' => array( 'astra_footer_before' => __( 'Before Footer', 'astra' ), 'astra_footer_after' => __( 'After Footer', 'astra' ), ), ), array( 'label' => 'Sidebar', 'hooks' => array( 'astra_sidebars_before' => __( 'Before Sidebar', 'astra' ), 'astra_sidebars_after' => __( 'After Sidebar', 'astra' ), ), ), array( 'label' => 'Posts', 'hooks' => array( 'loop_start' => __( 'Loop Start', 'astra' ), 'astra_entry_top' => __( 'Before Post', 'astra' ), 'astra_entry_content_before' => __( 'Before Post Content', 'astra' ), 'astra_entry_content_after' => __( 'After Post Content', 'astra' ), 'astra_entry_bottom' => __( 'After Post', 'astra' ), 'astra_comments_before' => __( 'Before Comments', 'astra' ), 'astra_comments_after' => __( 'After Comments', 'astra' ), 'loop_end' => __( 'Loop End', 'astra' ), ), ), ); } /** * Function to theme before render content * * @param int $post_id Post ID. * @since 1.0.28 */ public function builder_before_render_content( $post_id ) { ?> <?php if ( 'left-sidebar' === astra_page_layout() ) : ?> <?php get_sidebar(); ?> <?php endif ?> <div id="primary" <?php astra_primary_class(); ?>> <?php } /** * Function to theme after render content * * @param int $post_id Post ID. * @since 1.0.28 */ public function builder_after_render_content( $post_id ) { ?> </div><!-- #primary --> <?php if ( 'right-sidebar' === astra_page_layout() ) : ?> <?php get_sidebar(); ?> <?php endif ?> <?php } } endif; /** * Kicking this off by calling 'get_instance()' method */ Astra_Beaver_Themer::get_instance(); class-astra-web-stories.php 0000644 00000004552 15006151013 0011731 0 ustar 00 <?php /** * Web Stories Compatibility File. * * @link https://wp.stories.google/ * * @package Astra */ // If plugin - 'Google\Web_Stories' not exist then return. if ( ! defined( 'WEBSTORIES_VERSION' ) ) { return; } /** * Astra Web_Stories Compatibility * * @since 3.2.0 */ class Astra_Web_Stories { /** * Constructor * * @since 3.2.0 * @return void */ public function __construct() { add_action( 'after_setup_theme', array( $this, 'web_stories_setup' ) ); add_action( apply_filters( 'astra_web_stories_position', 'astra_body_top' ), array( $this, 'web_stories_embed' ) ); add_filter( 'astra_dynamic_theme_css', array( $this, 'web_stories_css' ) ); } /** * Add theme support for Web Stories. * * @since 3.2.0 * @return void */ public function web_stories_setup() { add_theme_support( 'web-stories' ); } /** * Custom render function for Web Stories Embedding. * * @since 3.2.0 * @return void */ public function web_stories_embed() { if ( ! function_exists( '\Google\Web_Stories\render_theme_stories' ) ) { return; } // Embed web stories above header with pre-configured customizer settings. \Google\Web_Stories\render_theme_stories(); } /** * Add dynamic CSS for the webstories. * * @since 3.2.0 * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * * @return String Generated dynamic CSS for Heading Colors. */ public function web_stories_css( $dynamic_css, $dynamic_css_filtered = '' ) { // Using function check instead of class as there can be changes in the web stories plugin later, see 1.7.1 release https://github.com/google/web-stories-wp/pull/7266/files. if ( ! function_exists( '\Google\Web_Stories\render_theme_stories' ) ) { return $dynamic_css; } $options = get_option( 'web_stories_customizer_settings' ); // bail if web stories are not enabled on the frontend. if ( empty( $options['show_stories'] ) || true !== $options['show_stories'] ) { return $dynamic_css; } $stories_css_array = array( '.web-stories-list.web-stories-list--customizer.is-view-type-circles' => array( 'border-bottom' => '1px solid #ccc', 'padding' => '15px 0', 'margin-bottom' => '0', ), ); $dynamic_css .= astra_parse_css( $stories_css_array ); return $dynamic_css; } } new Astra_Web_Stories(); class-astra-beaver-builder.php 0000644 00000013210 15006151013 0012345 0 ustar 00 <?php /** * Beaver Builder Compatibility File. * * @package Astra */ // If plugin - 'Builder Builder' not exist then return. if ( ! class_exists( 'FLBuilderModel' ) ) { return; } /** * Astra Beaver Builder Compatibility */ if ( ! class_exists( 'Astra_Beaver_Builder' ) ) : /** * Astra Beaver Builder Compatibility * * @since 1.0.0 */ class Astra_Beaver_Builder { /** * 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_action( 'wp', array( $this, 'beaver_builder_default_setting' ), 20 ); add_action( 'do_meta_boxes', array( $this, 'beaver_builder_default_setting' ), 20 ); add_filter( 'astra_theme_assets', array( $this, 'add_styles' ) ); add_filter( 'astra_disable_block_content_attr', array( $this, 'remove_astra_block_editor_attr' ), 10, 2 ); } /** * Disable Astra's block editor attr which applied for further block layout CSS. * * @param bool $flag Flag to enable/disable entry content attr. * @param int $post_id Post ID. * * @since 3.8.1 * @return bool true|false */ public function remove_astra_block_editor_attr( $flag, $post_id ) { $post = get_post( $post_id ); /** @psalm-suppress PossiblyInvalidPropertyFetch */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( ! empty( $post->post_content ) && is_callable( 'FLBuilderModel::is_builder_enabled' ) && FLBuilderModel::is_builder_enabled() ) { /** @psalm-suppress PossiblyInvalidPropertyFetch */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $flag = false; } return $flag; } /** * Builder Template Content layout set as Full Width / Stretched * * @since 1.0.13 * @return void */ public function beaver_builder_default_setting() { if ( false === astra_enable_page_builder_compatibility() || 'post' == get_post_type() ) { return; } global $post; $id = astra_get_post_id(); $do_render = apply_filters( 'fl_builder_do_render_content', true, FLBuilderModel::get_post_id() ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound $page_builder_flag = get_post_meta( $id, '_astra_content_layout_flag', true ); if ( isset( $post ) && empty( $page_builder_flag ) && ( is_admin() || is_singular() ) ) { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( empty( $post->post_content ) && $do_render && is_callable( 'FLBuilderModel::is_builder_enabled' ) && FLBuilderModel::is_builder_enabled() ) { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort update_post_meta( $id, '_astra_content_layout_flag', 'disabled' ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort update_post_meta( $id, 'site-post-title', 'disabled' ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort update_post_meta( $id, 'ast-title-bar-display', 'disabled' ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort update_post_meta( $id, 'ast-featured-img', 'disabled' ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $content_layout = get_post_meta( $id, 'site-content-layout', true ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( empty( $content_layout ) || 'default' == $content_layout ) { /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort update_post_meta( $id, 'site-content-layout', 'page-builder' ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort } /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $sidebar_layout = get_post_meta( $id, 'site-sidebar-layout', true ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( empty( $sidebar_layout ) || 'default' == $sidebar_layout ) { /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort update_post_meta( $id, 'site-sidebar-layout', 'no-sidebar' ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort } } } } /** * Add assets in theme * * @param array $assets list of theme assets (JS & CSS). * @return array List of updated assets. * @since 3.5.0 */ public function add_styles( $assets ) { if ( ! empty( $assets['css'] ) ) { $assets['css'] = array( 'astra-bb-builder' => 'compatibility/page-builder/bb-plugin' ) + $assets['css']; } return $assets; } } endif; /** * Kicking this off by calling 'get_instance()' method */ Astra_Beaver_Builder::get_instance(); edd/class-astra-edd.php 0000644 00000112643 15006151013 0010757 0 ustar 00 <?php /** * Easy Digital Downloads Compatibility File. * * @link https://easydigitaldownloads.com/ * * @package Astra */ // If plugin - 'Easy_Digital_Downloads' not exist then return. if ( ! class_exists( 'Easy_Digital_Downloads' ) ) { return; } /** * Astra Easy Digital Downloads Compatibility */ if ( ! class_exists( 'Astra_Edd' ) ) : /** * Astra Easy Digital Downloads Compatibility * * @since 1.5.5 */ class Astra_Edd { /** * 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() { require_once ASTRA_THEME_DIR . 'inc/compatibility/edd/edd-common-functions.php';// phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound add_filter( 'astra_theme_defaults', array( $this, 'theme_defaults' ) ); // Register Store Sidebars. add_action( 'widgets_init', array( $this, 'store_widgets_init' ), 15 ); // Replace Edd Store Sidebars. add_filter( 'astra_get_sidebar', array( $this, 'replace_store_sidebar' ) ); // Edd Sidebar Layout. add_filter( 'astra_page_layout', array( $this, 'store_sidebar_layout' ) ); // Edd Content Layout. add_filter( 'astra_get_content_layout', array( $this, 'store_content_layout' ) ); add_filter( 'body_class', array( $this, 'edd_products_item_class' ) ); add_filter( 'post_class', array( $this, 'edd_single_product_class' ) ); add_filter( 'post_class', array( $this, 'render_post_class' ), 99 ); add_action( 'customize_register', array( $this, 'customize_register' ), 2 ); add_filter( 'astra_theme_assets', array( $this, 'add_styles' ) ); add_action( 'wp_enqueue_scripts', array( $this, 'add_inline_scripts' ) ); add_filter( 'astra_dynamic_theme_css', array( $this, 'add_inline_styles' ) ); add_action( 'wp', array( $this, 'edd_initialization' ) ); add_action( 'init', array( $this, 'edd_set_defaults_initialization' ) ); // Add Cart option in dropdown. add_filter( 'astra_header_section_elements', array( $this, 'header_section_elements' ) ); // Add Cart icon in Menu. add_filter( 'astra_get_dynamic_header_content', array( $this, 'astra_header_cart' ), 10, 3 ); add_filter( 'astra_single_post_navigation', array( $this, 'edd_single_post_navigation' ) ); // Header Cart Icon. add_action( 'astra_edd_header_cart_icons_before', array( $this, 'header_cart_icon_markup' ) ); add_filter( 'astra_edd_cart_in_menu_class', array( $this, 'header_cart_icon_class' ), 99 ); } /** * Header Cart Extra Icons markup * * @return void; */ public function header_cart_icon_markup() { if ( false === Astra_Builder_Helper::$is_header_footer_builder_active && ! defined( 'ASTRA_EXT_VER' ) ) { return; } $icon = astra_get_option( 'edd-header-cart-icon' ); $cart_total_display = astra_get_option( 'edd-header-cart-total-display' ); $cart_count_display = apply_filters( 'astra_edd_header_cart_count', true ); $cart_title_display = astra_get_option( 'edd-header-cart-title-display' ); $cart_title = apply_filters( 'astra_header_cart_title', __( 'Cart', 'astra' ) ); $cart_title_markup = '<span class="ast-edd-header-cart-title">' . esc_html( $cart_title ) . '</span>'; $cart_total_markup = '<span class="ast-edd-header-cart-total">' . esc_html( edd_currency_filter( edd_format_amount( edd_get_cart_total() ) ) ) . '</span>'; // Cart Title & Cart Cart total markup. $cart_info_markup = sprintf( '<span class="ast-edd-header-cart-info-wrap"> %1$s %2$s %3$s </span>', ( $cart_title_display ) ? $cart_title_markup : '', ( $cart_total_display && $cart_title_display ) ? '/' : '', ( $cart_total_display ) ? $cart_total_markup : '' ); $cart_items = count( edd_get_cart_contents() ); $cart_contents_count = $cart_items; $cart_icon = sprintf( '<span class="astra-icon ast-icon-shopping-%1$s %2$s" %3$s >%4$s</span>', ( $icon ) ? $icon : '', ( $cart_count_display ) ? '' : 'no-cart-total', ( $cart_count_display ) ? 'data-cart-total="' . $cart_contents_count . '"' : '', ( $icon ) ? ( ( false !== Astra_Icons::is_svg_icons() ) ? Astra_Icons::get_icons( $icon ) : '' ) : '' ); // Theme's default icon with cart title and cart total. if ( 'default' == $icon || ! defined( 'ASTRA_EXT_VER' ) || ( defined( 'ASTRA_EXT_VER' ) && ! Astra_Ext_Extension::is_active( 'edd' ) ) ) { // Cart Total or Cart Title enable then only add markup. if ( $cart_title_display || $cart_total_display ) { echo $cart_info_markup; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } else { // Remove Default cart icon added by theme. add_filter( 'astra_edd_default_header_cart_icon', '__return_false' ); /* translators: 1: Cart Title Markup, 2: Cart Icon Markup */ printf( '<div class="ast-addon-cart-wrap"> %1$s %2$s </div>', ( $cart_title_display || $cart_total_display ) ? $cart_info_markup : '', // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ( $cart_icon ) ? $cart_icon : '' // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ); } } /** * Header Cart Icon Class * * @param array $classes Default argument array. * * @return array; */ public function header_cart_icon_class( $classes ) { if ( false === Astra_Builder_Helper::$is_header_footer_builder_active && ! defined( 'ASTRA_EXT_VER' ) ) { return $classes; } $header_cart_icon_style = astra_get_option( 'edd-header-cart-icon-style' ); $classes[] = 'ast-edd-menu-cart-' . $header_cart_icon_style; $header_cart_icon_has_color = astra_get_option( 'edd-header-cart-icon-color' ); if ( ! empty( $header_cart_icon_has_color ) && ( 'none' !== $header_cart_icon_style ) ) { $classes[] = 'ast-menu-cart-has-color'; } return $classes; } /** * Disable EDD style only for the first time * * @return void */ public function edd_set_defaults_initialization() { $astra_theme_options = get_option( 'astra-settings' ); $edd_settings = get_option( 'edd_settings' ); // Set flag to set the EDD style disable only once for the very first time. if ( ! isset( $astra_theme_options['ast-edd-disable-styles'] ) ) { $astra_theme_options['ast-edd-disable-styles'] = true; $edd_settings['disable_styles'] = true; update_option( 'astra-settings', $astra_theme_options ); update_option( 'edd_settings', $edd_settings ); } } /** * Single Product Navigation * * @param array $args single products navigation arguments. * * @return array $args single products navigation arguments. */ public function edd_single_post_navigation( $args ) { $is_edd_single_product_page = astra_is_edd_single_product_page(); $disable_single_product_navigation = astra_get_option( 'disable-edd-single-product-nav' ); if ( $is_edd_single_product_page && ! $disable_single_product_navigation ) { $next_post = get_next_post(); $prev_post = get_previous_post(); $next_text = false; if ( $next_post ) { $next_text = sprintf( '%s <span class="ast-right-arrow">→</span>', $next_post->post_title ); } $prev_text = false; if ( $prev_post ) { $prev_text = sprintf( '<span class="ast-left-arrow">←</span> %s', $prev_post->post_title ); } $args['prev_text'] = $prev_text; $args['next_text'] = $next_text; } elseif ( $is_edd_single_product_page && $disable_single_product_navigation ) { $args['prev_text'] = false; $args['next_text'] = false; } return $args; } /** * EDD Initialization * * @return void */ public function edd_initialization() { $is_edd_archive_page = astra_is_edd_archive_page(); $is_edd_single_product_page = astra_is_edd_single_product_page(); if ( $is_edd_archive_page ) { add_action( 'astra_template_parts_content', array( $this, 'edd_content_loop' ) ); remove_action( 'astra_template_parts_content', array( Astra_Loop::get_instance(), 'template_parts_default' ) ); // Add edd wrapper. add_action( 'astra_template_parts_content_top', array( $this, 'astra_edd_templat_part_wrap_open' ), 25 ); add_action( 'astra_template_parts_content_bottom', array( $this, 'astra_edd_templat_part_wrap_close' ), 5 ); // Remove closing and ending div 'ast-row'. remove_action( 'astra_template_parts_content_top', array( Astra_Loop::get_instance(), 'astra_templat_part_wrap_open' ), 25 ); remove_action( 'astra_template_parts_content_bottom', array( Astra_Loop::get_instance(), 'astra_templat_part_wrap_close' ), 5 ); } if ( $is_edd_single_product_page ) { remove_action( 'astra_template_parts_content', array( Astra_Loop::get_instance(), 'template_parts_post' ) ); add_action( 'astra_template_parts_content', array( $this, 'edd_single_template' ) ); } } /** * Add wrapper for edd archive pages * * @return void */ public function astra_edd_templat_part_wrap_open() { ?> <div class="ast-edd-container"> <?php } /** * Add end of wrapper for edd archive pages */ public function astra_edd_templat_part_wrap_close() { ?> </div> <!-- .ast-edd-container --> <?php } /** * Edd Single Product template */ public function edd_single_template() { astra_entry_before(); ?> <div <?php post_class(); ?>> <?php astra_entry_top(); ?> <?php astra_entry_content_single(); ?> <?php astra_entry_bottom(); ?> </div><!-- #post-## --> <?php astra_entry_after(); } /** * Add Cart icon markup * * @param Array $options header options array. * * @return Array header options array. * @since 1.5.5 */ public function header_section_elements( $options ) { $options['edd'] = __( 'Easy Digital Downloads', 'astra' ); return $options; } /** * Add wrapper to the edd archive content template * * @return void */ public function edd_content_loop() { ?> <div <?php post_class(); ?>> <?php /** * Edd Archive Page Product Content Sorting */ do_action( 'astra_edd_archive_product_content' ); ?> </div> <?php } /** * Remove theme post's default classes when EDD archive. * * @param array $classes Post Classes. * @return array * @since 1.5.5 */ public function render_post_class( $classes ) { $post_class = array( 'ast-edd-archive-article' ); $result = array_intersect( $classes, $post_class ); if ( count( $result ) > 0 ) { $classes = array_diff( $classes, array( // Astra common grid. 'ast-col-sm-12', 'ast-col-md-8', 'ast-col-md-6', 'ast-col-md-12', // Astra Blog / Single Post. 'ast-article-post', 'ast-article-single', 'ast-separate-posts', 'remove-featured-img-padding', 'ast-featured-post', ) ); } return $classes; } /** * Add Cart icon markup * * @param String $output Markup. * @param String $section Section name. * @param String $section_type Section selected option. * @return Markup String. * * @since 1.5.5 */ public function astra_header_cart( $output, $section, $section_type ) { if ( 'edd' === $section_type && apply_filters( 'astra_edd_header_cart_icon', true ) ) { $output = $this->edd_mini_cart_markup(); } return $output; } /** * Easy Digital DOwnloads mini cart markup markup * * @since 1.5.5 * @return html */ public function edd_mini_cart_markup() { $class = ''; if ( edd_is_checkout() ) { $class = 'current-menu-item'; } $cart_menu_classes = apply_filters( 'astra_edd_cart_in_menu_class', array( 'ast-menu-cart-with-border' ) ); ob_start(); if ( is_customize_preview() && ( true === Astra_Builder_Helper::$is_header_footer_builder_active ) ) { Astra_Builder_UI_Controller::render_customizer_edit_button(); } ?> <div class="ast-edd-site-header-cart <?php echo esc_attr( implode( ' ', $cart_menu_classes ) ); ?>"> <div class="ast-edd-site-header-cart-wrap <?php echo esc_attr( $class ); ?>"> <?php $this->astra_get_edd_cart(); ?> </div> <?php if ( ! edd_is_checkout() ) { ?> <div class="ast-edd-site-header-cart-widget"> <?php the_widget( 'edd_cart_widget', 'title=' ); ?> </div> <?php } ?> </div> <?php return ob_get_clean(); } /** * Cart Link * Displayed a link to the cart including the number of items present and the cart total * * @return void * @since 1.5.5 */ public function astra_get_edd_cart() { $view_shopping_cart = apply_filters( 'astra_edd_view_shopping_cart_title', __( 'View your shopping cart', 'astra' ) ); $edd_cart_link = apply_filters( 'astra_edd_cart_link', edd_get_checkout_uri() ); if ( is_customize_preview() ) { $edd_cart_link = '#'; } ?> <a class="ast-edd-cart-container" href="<?php echo esc_url( $edd_cart_link ); ?>" title="<?php echo esc_attr( $view_shopping_cart ); ?>"> <?php do_action( 'astra_edd_header_cart_icons_before' ); if ( apply_filters( 'astra_edd_default_header_cart_icon', true ) ) { ?> <div class="ast-edd-cart-menu-wrap"> <span class="count"> <?php if ( apply_filters( 'astra_edd_header_cart_total', true ) ) { $cart_items = count( edd_get_cart_contents() ); echo esc_html( $cart_items ); } ?> </span> </div> <?php } do_action( 'astra_edd_header_cart_icons_after' ); ?> </a> <?php } /** * Add assets in theme * * @param array $assets list of theme assets (JS & CSS). * @return array List of updated assets. * @since 1.5.5 */ public function add_styles( $assets ) { $assets['css']['astra-edd'] = Astra_Builder_Helper::apply_flex_based_css() ? 'compatibility/edd-grid' : 'compatibility/edd'; return $assets; } /** * Add inline style * * @since 1.5.5 */ public function add_inline_scripts() { $is_site_rtl = is_rtl(); if ( ! Astra_Builder_Helper::apply_flex_based_css() ) { $max_tablet_edd_css = array( '.tablet-columns-1 .ast-edd-archive-article' => array( 'width' => '100%', ), '.tablet-columns-2 .ast-edd-archive-article' => array( 'width' => '47.6%', 'width' => 'calc(50% - 10px)', ), '.tablet-columns-3 .ast-edd-archive-article, .edd_downloads_list[class*="edd_download_columns_"] .edd_download' => array( 'width' => '30.2%', 'width' => 'calc(33.33% - 14px)', ), '.tablet-columns-4 .ast-edd-archive-article' => array( 'width' => '21.5%', 'width' => 'calc(25% - 15px)', ), '.tablet-columns-5 .ast-edd-archive-article' => array( 'width' => '16.2%', 'width' => 'calc(20% - 16px)', ), '.tablet-columns-6 .ast-edd-archive-article' => array( 'width' => '12.7%', 'width' => 'calc(16.66% - 16.66px)', ), ); } else { $max_tablet_edd_css = array( '.tablet-columns-1 .ast-edd-container' => array( 'grid-template-columns' => 'repeat(1, 1fr)', ), '.tablet-columns-2 .ast-edd-container' => array( 'grid-template-columns' => 'repeat(2, 1fr)', ), '.tablet-columns-3 .ast-edd-container, .edd_downloads_list[class*="edd_download_columns_"] .edd_download' => array( 'grid-template-columns' => 'repeat(3, 1fr)', ), '.tablet-columns-4 .ast-edd-container' => array( 'grid-template-columns' => 'repeat(4, 1fr)', ), '.tablet-columns-5 .ast-edd-container' => array( 'grid-template-columns' => 'repeat(5, 1fr)', ), '.tablet-columns-6 .ast-edd-container' => array( 'grid-template-columns' => 'repeat(6, 1fr)', ), ); } /* Parse CSS from array() -> max-width: (tablet-breakpoint) px & min-width: (mobile-breakpoint + 1) px */ $edd_css_output = astra_parse_css( $max_tablet_edd_css, astra_get_mobile_breakpoint( '', 1 ), astra_get_tablet_breakpoint() ); if ( ! Astra_Builder_Helper::apply_flex_based_css() ) { if ( $is_site_rtl ) { $max_tablet_edd_lang_direction_css = array( '[class*="columns-"] .ast-edd-archive-article:nth-child(n)' => array( 'margin-left' => '20px', 'clear' => 'none', ), '.tablet-columns-2 .ast-edd-archive-article:nth-child(2n), .tablet-columns-3 .ast-edd-archive-article:nth-child(3n), .tablet-columns-4 .ast-edd-archive-article:nth-child(4n), .tablet-columns-5 .ast-edd-archive-article:nth-child(5n), .tablet-columns-6 .ast-edd-archive-article:nth-child(6n), .edd_downloads_list[class*="edd_download_columns_"] .edd_download:nth-child(3n)' => array( 'margin-left' => '0', 'clear' => 'left', ), '.tablet-columns-2 .ast-edd-archive-article:nth-child(2n+1), .tablet-columns-3 .ast-edd-archive-article:nth-child(3n+1), .tablet-columns-4 .ast-edd-archive-article:nth-child(4n+1), .tablet-columns-5 .ast-edd-archive-article:nth-child(5n+1), .tablet-columns-6 .ast-edd-archive-article:nth-child(6n+1), .edd_downloads_list[class*="edd_download_columns_"] .edd_download:nth-child(3n+1)' => array( 'clear' => 'right', ), ); } else { $max_tablet_edd_lang_direction_css = array( '[class*="columns-"] .ast-edd-archive-article:nth-child(n)' => array( 'margin-right' => '20px', 'clear' => 'none', ), '.tablet-columns-2 .ast-edd-archive-article:nth-child(2n), .tablet-columns-3 .ast-edd-archive-article:nth-child(3n), .tablet-columns-4 .ast-edd-archive-article:nth-child(4n), .tablet-columns-5 .ast-edd-archive-article:nth-child(5n), .tablet-columns-6 .ast-edd-archive-article:nth-child(6n), .edd_downloads_list[class*="edd_download_columns_"] .edd_download:nth-child(3n)' => array( 'margin-right' => '0', 'clear' => 'right', ), '.tablet-columns-2 .ast-edd-archive-article:nth-child(2n+1), .tablet-columns-3 .ast-edd-archive-article:nth-child(3n+1), .tablet-columns-4 .ast-edd-archive-article:nth-child(4n+1), .tablet-columns-5 .ast-edd-archive-article:nth-child(5n+1), .tablet-columns-6 .ast-edd-archive-article:nth-child(6n+1), .edd_downloads_list[class*="edd_download_columns_"] .edd_download:nth-child(3n+1)' => array( 'clear' => 'left', ), ); } /* Parse CSS from array() -> max-width: (tablet-breakpoint) px & min-width: (mobile-breakpoint + 1) px */ $edd_css_output .= astra_parse_css( $max_tablet_edd_lang_direction_css, astra_get_mobile_breakpoint( '', 1 ), astra_get_tablet_breakpoint() ); } if ( ! Astra_Builder_Helper::apply_flex_based_css() ) { $mobile_edd_css = array( '.mobile-columns-1 .ast-edd-archive-article' => array( 'width' => '100%', ), '.mobile-columns-3 .ast-edd-archive-article' => array( 'width' => '28.2%', 'width' => 'calc(33.33% - 14px)', ), '.mobile-columns-4 .ast-edd-archive-article' => array( 'width' => '19%', 'width' => 'calc(25% - 15px)', ), '.mobile-columns-5 .ast-edd-archive-article' => array( 'width' => '13%', 'width' => 'calc(20% - 16px)', ), '.mobile-columns-6 .ast-edd-archive-article' => array( 'width' => '10.2%', 'width' => 'calc(16.66% - 16.66px)', ), '.edd_downloads_list[class*="edd_download_columns_"] .edd_download, .edd_downloads_list[class*="edd_download_columns_"] .edd_download:nth-child(2n+1), .mobile-columns-2 .ast-edd-archive-article' => array( 'width' => '46.1%', 'width' => 'calc(50% - 10px)', ), ); } else { $mobile_edd_css = array( '.mobile-columns-1 .ast-edd-container' => array( 'grid-template-columns' => 'repeat(1, 1fr)', ), '.mobile-columns-3 .ast-edd-container' => array( 'grid-template-columns' => 'repeat(3, 1fr)', ), '.mobile-columns-4 .ast-edd-container' => array( 'grid-template-columns' => 'repeat(4, 1fr)', ), '.mobile-columns-5 .ast-edd-container' => array( 'grid-template-columns' => 'repeat(5, 1fr)', ), '.mobile-columns-6 .ast-edd-container' => array( 'grid-template-columns' => 'repeat(6, 1fr)', ), '.edd_downloads_list[class*="edd_download_columns_"] .edd_download, .edd_downloads_list[class*="edd_download_columns_"] .edd_download:nth-child(2n+1), .mobile-columns-2 .ast-edd-container' => array( 'grid-template-columns' => 'repeat(2, 1fr)', ), ); } /* Parse CSS from array() -> max-width: (mobile-breakpoint) px */ $edd_css_output .= astra_parse_css( $mobile_edd_css, '', astra_get_mobile_breakpoint() ); if ( $is_site_rtl ) { $mobile_edd_lang_direction_css = array( '[class*="columns-"] .ast-edd-archive-article:nth-child(n)' => array( 'margin-left' => '20px', 'clear' => 'none', ), '.mobile-columns-1 .ast-edd-archive-article:nth-child(n)' => array( 'margin-left' => '0', ), '.edd_downloads_list[class*="edd_download_columns_"] .edd_download:nth-child(2n), .mobile-columns-2 .ast-edd-archive-article:nth-child(2n), .mobile-columns-3 .ast-edd-archive-article:nth-child(3n), .mobile-columns-4 .ast-edd-archive-article:nth-child(4n), .mobile-columns-5 .ast-edd-archive-article:nth-child(5n), .mobile-columns-6 .ast-edd-archive-article:nth-child(6n)' => array( 'margin-left' => '0', 'clear' => 'left', ), '.mobile-columns-2 .ast-edd-archive-article:nth-child(2n+1), .mobile-columns-3 .ast-edd-archive-article:nth-child(3n+1), .mobile-columns-4 .ast-edd-archive-article:nth-child(4n+1), .mobile-columns-5 .ast-edd-archive-article:nth-child(5n+1), .mobile-columns-6 .ast-edd-archive-article:nth-child(6n+1)' => array( 'clear' => 'right', ), ); } else { $mobile_edd_lang_direction_css = array( '[class*="columns-"] .ast-edd-archive-article:nth-child(n)' => array( 'margin-right' => '20px', 'clear' => 'none', ), '.mobile-columns-1 .ast-edd-archive-article:nth-child(n)' => array( 'margin-right' => '0', ), '.edd_downloads_list[class*="edd_download_columns_"] .edd_download:nth-child(2n), .mobile-columns-2 .ast-edd-archive-article:nth-child(2n), .mobile-columns-3 .ast-edd-archive-article:nth-child(3n), .mobile-columns-4 .ast-edd-archive-article:nth-child(4n), .mobile-columns-5 .ast-edd-archive-article:nth-child(5n), .mobile-columns-6 .ast-edd-archive-article:nth-child(6n)' => array( 'margin-right' => '0', 'clear' => 'right', ), '.mobile-columns-2 .ast-edd-archive-article:nth-child(2n+1), .mobile-columns-3 .ast-edd-archive-article:nth-child(3n+1), .mobile-columns-4 .ast-edd-archive-article:nth-child(4n+1), .mobile-columns-5 .ast-edd-archive-article:nth-child(5n+1), .mobile-columns-6 .ast-edd-archive-article:nth-child(6n+1)' => array( 'clear' => 'left', ), ); } /* Parse CSS from array() -> max-width: (mobile-breakpoint) px */ $edd_css_output .= astra_parse_css( $mobile_edd_lang_direction_css, '', astra_get_mobile_breakpoint() ); wp_add_inline_style( 'astra-edd', apply_filters( 'astra_theme_edd_dynamic_css', $edd_css_output ) ); // Inline js for EDD Cart updates. wp_add_inline_script( 'edd-ajax', "jQuery( document ).ready( function($) { /** * Astra - Easy Digital Downloads Cart Quantity & Total Amount */ var cartQuantity = jQuery('.ast-edd-site-header-cart-wrap .count'), iconQuantity = jQuery('.ast-edd-site-header-cart-wrap .astra-icon'), cartTotalAmount = jQuery('.ast-edd-site-header-cart-wrap .ast-edd-header-cart-total'); jQuery('body').on('edd_cart_item_added', function( event, response ) { cartQuantity.html( response.cart_quantity ); iconQuantity.attr('data-cart-total', response.cart_quantity ); cartTotalAmount.html( response.total ); }); jQuery('body').on('edd_cart_item_removed', function( event, response ) { cartQuantity.html( response.cart_quantity ); iconQuantity.attr('data-cart-total', response.cart_quantity ); cartTotalAmount.html( response.total ); }); });" ); } /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @since 1.5.5 * @return string $dynamic_css */ public function add_inline_styles( $dynamic_css, $dynamic_css_filtered = '' ) { /** * - Variable Declaration */ $site_content_width = astra_get_option( 'site-content-width', 1200 ); $edd_archive_width = astra_get_option( 'edd-archive-width' ); $edd_archive_max_width = astra_get_option( 'edd-archive-max-width' ); $css_output = ''; $theme_color = astra_get_option( 'theme-color' ); $link_color = astra_get_option( 'link-color', $theme_color ); $text_color = astra_get_option( 'text-color' ); $link_h_color = astra_get_option( 'link-h-color' ); $btn_color = astra_get_option( 'button-color' ); if ( empty( $btn_color ) ) { $btn_color = astra_get_foreground_color( $theme_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_h_color = astra_get_option( 'button-bg-h-color', $link_h_color ); $btn_border_radius_fields = astra_get_option( 'button-radius-fields' ); $cart_h_color = astra_get_foreground_color( $link_h_color ); $css_output = array( // Loading effect color. 'a.edd-add-to-cart.white .edd-loading, .edd-discount-loader.edd-loading, .edd-loading-ajax.edd-loading' => array( 'border-left-color' => esc_attr( $cart_h_color ), ), ); if ( false === Astra_Builder_Helper::$is_header_footer_builder_active ) { $compat_css_desktop = array( /** * Cart in menu */ '.ast-edd-site-header-cart a' => array( 'color' => esc_attr( $text_color ), ), '.ast-edd-site-header-cart a:focus, .ast-edd-site-header-cart a:hover, .ast-edd-site-header-cart .current-menu-item a' => array( 'color' => esc_attr( $text_color ), ), '.ast-edd-cart-menu-wrap .count, .ast-edd-cart-menu-wrap .count:after' => array( 'border-color' => esc_attr( $link_color ), 'color' => esc_attr( $link_color ), ), '.ast-edd-cart-menu-wrap:hover .count' => array( 'color' => esc_attr( $cart_h_color ), 'background-color' => esc_attr( $link_color ), ), '.ast-edd-site-header-cart .widget_edd_cart_widget .cart-total' => array( 'color' => esc_attr( $link_color ), ), '.ast-edd-site-header-cart .widget_edd_cart_widget .edd_checkout a, .widget_edd_cart_widget .edd_checkout a' => array( 'color' => $btn_h_color, 'border-color' => $btn_bg_h_color, 'background-color' => $btn_bg_h_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' ), ), '.site-header .ast-edd-site-header-cart .ast-edd-site-header-cart-widget .edd_checkout a, .site-header .ast-edd-site-header-cart .ast-edd-site-header-cart-widget .edd_checkout a:hover' => array( 'color' => $btn_color, ), '.below-header-user-select .ast-edd-site-header-cart .widget, .ast-above-header-section .ast-edd-site-header-cart .widget a, .below-header-user-select .ast-edd-site-header-cart .widget_edd_cart_widget a' => array( 'color' => $text_color, ), '.below-header-user-select .ast-edd-site-header-cart .widget_edd_cart_widget a:hover, .ast-above-header-section .ast-edd-site-header-cart .widget_edd_cart_widget a:hover, .below-header-user-select .ast-edd-site-header-cart .widget_edd_cart_widget a.remove:hover, .ast-above-header-section .ast-edd-site-header-cart .widget_edd_cart_widget a.remove:hover' => array( 'color' => esc_attr( $link_color ), ), '.widget_edd_cart_widget a.edd-remove-from-cart:hover:after' => array( 'color' => esc_attr( $link_color ), 'border-color' => esc_attr( $link_color ), 'background-color' => esc_attr( '#ffffff' ), ), ); $css_output = array_merge( $css_output, $compat_css_desktop ); } /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output ); /* Easy Digital DOwnloads Shop Archive width */ if ( 'custom' === $edd_archive_width ) : // Easy Digital DOwnloads shop archive custom width. $site_width = array( '.ast-edd-archive-page .site-content > .ast-container' => array( 'max-width' => astra_get_css_value( $edd_archive_max_width, 'px' ), ), ); $css_output .= astra_parse_css( $site_width, astra_get_tablet_breakpoint( '', 1 ) ); else : // Easy Digital DOwnloads shop archive default width. $site_width = array( '.ast-edd-archive-page .site-content > .ast-container' => array( 'max-width' => astra_get_css_value( $site_content_width + 40, 'px' ), ), ); /* Parse CSS from array()*/ $css_output .= astra_parse_css( $site_width, astra_get_tablet_breakpoint( '', 1 ) ); endif; $dynamic_css .= apply_filters( 'astra_theme_edd_dynamic_css', $css_output ); return $dynamic_css; } /** * Theme Defaults. * * @param array $defaults Array of options value. * @return array */ public function theme_defaults( $defaults ) { // Container. $defaults['edd-ast-content-layout'] = 'normal-width-container'; // Sidebar. $defaults['edd-general-sidebar-layout'] = 'default'; // Edd Archive. $defaults['edd-archive-grids'] = array( 'desktop' => 4, 'tablet' => 3, 'mobile' => 2, ); $defaults['edd-archive-product-structure'] = array( 'image', 'category', 'title', 'price', 'add_cart', ); $defaults['edd-archive-add-to-cart-button-text'] = __( 'Add To Cart', 'astra' ); $defaults['edd-archive-variable-button'] = 'button'; $defaults['edd-archive-variable-button-text'] = __( 'View Details', 'astra' ); $defaults['edd-archive-width'] = 'default'; $defaults['edd-archive-max-width'] = 1200; $defaults['disable-edd-single-product-nav'] = false; return $defaults; } /** * Add products item class to the body * * @param Array $classes product classes. * * @return array. */ public function edd_products_item_class( $classes = '' ) { $is_edd_archive_page = astra_is_edd_archive_page(); if ( $is_edd_archive_page ) { $shop_grid = astra_get_option( 'edd-archive-grids' ); $classes[] = 'columns-' . $shop_grid['desktop']; $classes[] = 'tablet-columns-' . $shop_grid['tablet']; $classes[] = 'mobile-columns-' . $shop_grid['mobile']; $classes[] = 'ast-edd-archive-page'; } return $classes; } /** * Add class on single product page * * @param Array $classes product classes. * * @return array. */ public function edd_single_product_class( $classes ) { $is_edd_archive_page = astra_is_edd_archive_page(); if ( $is_edd_archive_page ) { $classes[] = 'ast-edd-archive-article'; } return $classes; } /** * Store widgets init. */ public function store_widgets_init() { register_sidebar( apply_filters( 'astra_edd_sidebar_init', array( 'name' => esc_html__( 'Easy Digital Downloads Sidebar', 'astra' ), 'id' => 'astra-edd-sidebar', 'description' => __( 'This sidebar will be used on Product archive, Cart, Checkout and My Account pages.', 'astra' ), 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ) ); register_sidebar( apply_filters( 'astra_edd_single_product_sidebar_init', array( 'name' => esc_html__( 'EDD Single Product Sidebar', 'astra' ), 'id' => 'astra-edd-single-product-sidebar', 'description' => __( 'This sidebar will be used on EDD Single Product page.', 'astra' ), 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ) ); } /** * Assign shop sidebar for store page. * * @param String $sidebar Sidebar. * * @return String $sidebar Sidebar. */ public function replace_store_sidebar( $sidebar ) { $is_edd_page = astra_is_edd_page(); $is_edd_single_product_page = astra_is_edd_single_product_page(); if ( $is_edd_page && ! $is_edd_single_product_page ) { $sidebar = 'astra-edd-sidebar'; } elseif ( $is_edd_single_product_page ) { $sidebar = 'astra-edd-single-product-sidebar'; } return $sidebar; } /** * Easy Digital Downloads Container * * @param String $sidebar_layout Layout type. * * @return String $sidebar_layout Layout type. */ public function store_sidebar_layout( $sidebar_layout ) { $is_edd_page = astra_is_edd_page(); $is_edd_single_product_page = astra_is_edd_single_product_page(); $is_edd_archive_page = astra_is_edd_archive_page(); if ( $is_edd_page ) { // Global. $edd_sidebar = astra_get_option( 'site-sidebar-layout' ); if ( 'default' !== $edd_sidebar ) { $sidebar_layout = $edd_sidebar; } // Customizer General. $edd_customizer_sidebar = astra_get_option( 'edd-general-sidebar-layout' ); if ( 'default' !== $edd_customizer_sidebar ) { $sidebar_layout = $edd_customizer_sidebar; } if ( $is_edd_single_product_page ) { $edd_single_product_sidebar = astra_get_option( 'single-download-sidebar-layout' ); if ( 'default' !== $edd_single_product_sidebar ) { $sidebar_layout = $edd_single_product_sidebar; } $page_id = get_the_ID(); $edd_sidebar_layout = get_post_meta( $page_id, 'site-sidebar-layout', true ); } elseif ( $is_edd_archive_page ) { $edd_sidebar_layout = astra_get_option( 'archive-download-sidebar-layout' ); } else { $edd_sidebar_layout = astra_get_option_meta( 'site-sidebar-layout', '', true ); } if ( 'default' !== $edd_sidebar_layout && ! empty( $edd_sidebar_layout ) ) { $sidebar_layout = $edd_sidebar_layout; } } return $sidebar_layout; } /** * Easy Digital Downloads Container * * @param String $layout Layout type. * * @return String $layout Layout type. */ public function store_content_layout( $layout ) { $is_edd_page = astra_is_edd_page(); $is_edd_single_page = astra_is_edd_single_page(); $is_edd_archive_page = astra_is_edd_archive_page(); if ( $is_edd_page ) { // Global. $edd_layout = astra_toggle_layout( 'ast-site-content-layout', 'global', false ); if ( 'default' !== $edd_layout ) { $layout = $edd_layout; } // Customizer General. $edd_customizer_layout = astra_toggle_layout( 'edd-ast-content-layout', 'global', false ); if ( 'default' !== $edd_customizer_layout ) { $layout = $edd_customizer_layout; } if ( $is_edd_single_page ) { $edd_single_product_layout = astra_toggle_layout( 'single-download-ast-content-layout', 'single', false ); if ( 'default' !== $edd_single_product_layout ) { $layout = $edd_single_product_layout; } $page_id = get_the_ID(); $edd_page_layout = get_post_meta( $page_id, 'site-content-layout', true ); } elseif ( $is_edd_archive_page ) { $edd_page_layout = astra_toggle_layout( 'archive-download-ast-content-layout', 'archive', false ); } else { $edd_page_layout = astra_get_option_meta( 'site-content-layout', '', true ); if ( isset( $edd_page_layout ) ) { $edd_page_layout = astra_toggle_layout( 'ast-site-content-layout', 'meta', false, $edd_page_layout ); } else { $edd_page_layout = astra_toggle_layout( 'ast-site-content-layout', 'meta', false ); } } if ( 'default' !== $edd_page_layout && ! empty( $edd_page_layout ) ) { $layout = $edd_page_layout; } } return $layout; } /** * Register Customizer sections and panel for Easy Digital Downloads. * * @since 1.5.5 * @param WP_Customize_Manager $wp_customize Theme Customizer object. */ public function customize_register( $wp_customize ) { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound /** * Register Sections & Panels */ require ASTRA_THEME_DIR . 'inc/compatibility/edd/customizer/class-astra-customizer-register-edd-section.php'; /** * Sections */ require ASTRA_THEME_DIR . 'inc/compatibility/edd/customizer/sections/class-astra-edd-container-configs.php'; require ASTRA_THEME_DIR . 'inc/compatibility/edd/customizer/sections/class-astra-edd-sidebar-configs.php'; require ASTRA_THEME_DIR . 'inc/compatibility/edd/customizer/sections/layout/class-astra-edd-archive-layout-configs.php'; require ASTRA_THEME_DIR . 'inc/compatibility/edd/customizer/sections/layout/class-astra-edd-single-product-layout-configs.php'; // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } endif; if ( apply_filters( 'astra_enable_edd_integration', true ) ) { Astra_Edd::get_instance(); } edd/customizer/sections/class-astra-edd-container-configs.php 0000644 00000006100 15006151013 0020406 0 ustar 00 <?php /** * Easy Digital Downloads Container Options for Astra theme. * * @package Astra * @link https://www.brainstormforce.com * @since Astra 1.5.5 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Edd_Container_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Edd_Container_Configs extends Astra_Customizer_Config_Base { /** * Register Astra-Easy Digital Downloads Shop Container Settings. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.5.5 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $_configs = array( /** * Option: Revamped Container Layout. */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-ast-content-layout]', 'type' => 'control', 'control' => 'ast-radio-image', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_choices' ), 'section' => 'section-edd-general', 'default' => astra_get_option( 'edd-ast-content-layout' ), 'priority' => 5, 'title' => __( 'Container Layout', 'astra' ), 'choices' => array( 'default' => array( 'label' => __( 'Default', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'layout-default', false ) : '', ), 'normal-width-container' => array( 'label' => __( 'Normal', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'normal-width-container', false ) : '', ), 'full-width-container' => array( 'label' => __( 'Full Width', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'full-width-container', false ) : '', ), ), 'divider' => array( 'ast_class' => 'ast-bottom-spacing ast-bottom-divider' ), ), /** * Option: Content Style Option. */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-content-style]', 'type' => 'control', 'control' => 'ast-selector', 'section' => 'section-edd-general', 'default' => astra_get_option( 'edd-content-style', 'default' ), 'description' => __( 'Container style will apply only when layout is set to either normal or narrow.', 'astra' ), 'priority' => 5, 'title' => __( 'Container Style', 'astra' ), 'choices' => array( 'default' => __( 'Default', 'astra' ), 'unboxed' => __( 'Unboxed', 'astra' ), 'boxed' => __( 'Boxed', 'astra' ), ), 'renderAs' => 'text', 'responsive' => false, ), ); return array_merge( $configurations, $_configs ); } } } new Astra_Edd_Container_Configs(); edd/customizer/sections/layout/class-astra-edd-archive-layout-configs.php 0000644 00000021215 15006151013 0022701 0 ustar 00 <?php /** * Easy Digital Downloads Options for Astra Theme. * * @package Astra * @link https://wpastra.com/ * @since Astra 1.5.5 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Edd_Archive_Layout_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Edd_Archive_Layout_Configs extends Astra_Customizer_Config_Base { /** * Register Astra-Easy Digital Downloads Shop Layout Customizer Configurations. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.5.5 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $grid_ast_divider = ( defined( 'ASTRA_EXT_VER' ) && Astra_Ext_Extension::is_active( 'edd' ) ) ? array() : array( 'ast_class' => 'ast-top-section-divider' ); /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $_configs = array( /** * Option: Shop Columns */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-archive-grids]', 'type' => 'control', 'control' => 'ast-responsive-slider', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_slider' ), 'section' => 'section-edd-archive', 'default' => astra_get_option( 'edd-archive-grids', array( 'desktop' => 4, 'tablet' => 3, 'mobile' => 2, ) ), 'priority' => 10, 'title' => __( 'Archive Columns', 'astra' ), 'input_attrs' => array( 'step' => 1, 'min' => 1, 'max' => 6, ), 'divider' => $grid_ast_divider, 'transport' => 'postMessage', ), /** * Option: Divider */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-archive-product-structure-divider]', 'section' => 'section-edd-archive', 'title' => __( 'Product Structure', 'astra' ), 'type' => 'control', 'control' => 'ast-heading', 'priority' => 30, 'settings' => array(), 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: EDD Archive Post Meta */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-archive-product-structure]', 'type' => 'control', 'control' => 'ast-sortable', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_multi_choices' ), 'section' => 'section-edd-archive', 'divider' => array( 'ast_class' => 'ast-section-spacing' ), 'default' => astra_get_option( 'edd-archive-product-structure' ), 'priority' => 30, 'title' => __( 'Product Structure', 'astra' ), 'description' => __( 'The Image option cannot be sortable if the Product Style is selected to the List Style ', 'astra' ), 'choices' => array( 'image' => __( 'Image', 'astra' ), 'category' => __( 'Category', 'astra' ), 'title' => __( 'Title', 'astra' ), 'price' => __( 'Price', 'astra' ), 'short_desc' => __( 'Short Description', 'astra' ), 'add_cart' => __( 'Add To Cart', 'astra' ), ), ), /** * Option: Divider */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-archive-button-divider]', 'section' => 'section-edd-archive', 'title' => __( 'Buttons', 'astra' ), 'type' => 'control', 'control' => 'ast-heading', 'priority' => 31, 'settings' => array(), 'divider' => array( 'ast_class' => 'ast-section-spacing ast-bottom-spacing' ), ), /** * Option: Add to Cart button text */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-archive-add-to-cart-button-text]', 'type' => 'control', 'control' => 'text', 'section' => 'section-edd-archive', 'default' => astra_get_option( 'edd-archive-add-to-cart-button-text' ), 'priority' => 31, 'title' => __( 'Cart Button Text', 'astra' ), 'context' => array( Astra_Builder_Helper::$general_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[edd-archive-product-structure]', 'operator' => 'contains', 'value' => 'add_cart', ), ), 'divider' => array( 'ast_class' => 'ast-top-spacing ast-bottom-section-divider' ), ), /** * Option: Variable product button */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-archive-variable-button]', 'default' => astra_get_option( 'edd-archive-variable-button' ), 'section' => 'section-edd-archive', 'type' => 'control', 'control' => 'ast-selector', 'title' => __( 'Variable Product Button', 'astra' ), 'priority' => 31, 'choices' => array( 'button' => __( 'Button', 'astra' ), 'options' => __( 'Options', 'astra' ), ), 'transport' => 'refresh', 'renderAs' => 'text', 'responsive' => false, 'context' => array( Astra_Builder_Helper::$general_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[edd-archive-product-structure]', 'operator' => 'contains', 'value' => 'add_cart', ), ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ), /** * Option: Variable product button text */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-archive-variable-button-text]', 'type' => 'control', 'control' => 'text', 'divider' => array( 'ast_class' => 'ast-bottom-divider' ), 'section' => 'section-edd-archive', 'default' => astra_get_option( 'edd-archive-variable-button-text' ), 'context' => array( Astra_Builder_Helper::$general_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[edd-archive-variable-button]', 'operator' => '==', 'value' => 'button', ), ), 'priority' => 31, 'title' => __( 'Variable Product Button Text', 'astra' ), ), /** * Option: Archive Content Width */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-archive-width]', 'default' => astra_get_option( 'edd-archive-width' ), 'section' => 'section-edd-archive', 'type' => 'control', 'control' => 'ast-selector', 'title' => __( 'Archive Content Width', 'astra' ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), 'priority' => 220, 'choices' => array( 'default' => __( 'Default', 'astra' ), 'custom' => __( 'Custom', 'astra' ), ), 'transport' => 'postMessage', 'renderAs' => 'text', 'responsive' => false, ), /** * Option: Enter Width */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-archive-max-width]', 'type' => 'control', 'control' => 'ast-slider', 'section' => 'section-edd-archive', 'default' => astra_get_option( 'edd-archive-max-width' ), 'priority' => 225, 'context' => array( Astra_Builder_Helper::$general_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[edd-archive-width]', 'operator' => '===', 'value' => 'custom', ), ), 'title' => __( 'Custom Width', 'astra' ), 'transport' => 'postMessage', 'suffix' => 'px', 'input_attrs' => array( 'min' => 768, 'step' => 1, 'max' => 1920, ), 'divider' => array( 'ast_class' => 'ast-top-dotted-divider' ), ), ); // Learn More link if Astra Pro is not activated. if ( astra_showcase_upgrade_notices() ) { $_configs[] = /** * Option: Learn More about Contant Typography */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-product-archive-button-link]', 'type' => 'control', 'control' => 'ast-button-link', 'section' => 'section-edd-archive', 'priority' => 999, 'title' => __( 'View Astra Pro Features', 'astra' ), 'url' => astra_get_pro_url( 'https://wpastra.com/pricing/', 'customizer', 'free-theme', 'edd' ), 'settings' => array(), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ); } $configurations = array_merge( $configurations, $_configs ); return $configurations; } } } new Astra_Edd_Archive_Layout_Configs(); edd/customizer/sections/layout/class-astra-edd-single-product-layout-configs.php 0000644 00000002676 15006151013 0024231 0 ustar 00 <?php /** * Easy Digital Downloads Options for Astra Theme. * * @package Astra * @link https://wpastra.com/ * @since Astra 1.5.5 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Edd_Single_Product_Layout_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Edd_Single_Product_Layout_Configs extends Astra_Customizer_Config_Base { /** * Register Astra-Easy Digital Downloads Shop Cart Layout Customizer Configurations. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.5.5 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $_configs = array( /** * Option: Cart upsells */ array( 'name' => ASTRA_THEME_SETTINGS . '[disable-edd-single-product-nav]', 'section' => 'section-edd-single', 'type' => 'control', 'control' => 'ast-toggle-control', 'default' => astra_get_option( 'disable-edd-single-product-nav' ), 'title' => __( 'Disable Product Navigation', 'astra' ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), 'priority' => 10, ), ); return array_merge( $configurations, $_configs ); } } } new Astra_Edd_Single_Product_Layout_Configs(); edd/customizer/sections/class-astra-edd-sidebar-configs.php 0000644 00000006451 15006151013 0020046 0 ustar 00 <?php /** * Easy Digital Downloads Sidebar Options for our theme. * * @package Astra * @link https://www.brainstormforce.com * @since Astra 1.5.5 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Edd_Sidebar_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Edd_Sidebar_Configs extends Astra_Customizer_Config_Base { /** * Register Astra Easy Digital Downloads Sidebar Configurations. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.5.5 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $_configs = array( /** * Option: General Sidebar Layout. */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-general-sidebar-layout]', 'type' => 'control', 'control' => 'ast-radio-image', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_choices' ), 'section' => 'section-edd-general', 'default' => astra_get_option( 'edd-general-sidebar-layout' ), 'priority' => 6, 'title' => __( 'Sidebar Layout', 'astra' ), 'choices' => array( 'default' => array( 'label' => __( 'Default', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'layout-default', false ) : '', ), 'no-sidebar' => array( 'label' => __( 'No Sidebar', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'no-sidebar', false ) : '', ), 'left-sidebar' => array( 'label' => __( 'Left Sidebar', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'left-sidebar', false ) : '', ), 'right-sidebar' => array( 'label' => __( 'Right Sidebar', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'right-sidebar', false ) : '', ), ), 'description' => __( 'Sidebar will only apply when container layout is set to normal.', 'astra' ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ), /** * Option: EDD Sidebar Style. */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-sidebar-style]', 'type' => 'control', 'control' => 'ast-selector', 'section' => 'section-edd-general', 'default' => astra_get_option( 'edd-sidebar-style', 'default' ), 'priority' => 6, 'title' => __( 'Sidebar Style', 'astra' ), 'choices' => array( 'default' => __( 'Default', 'astra' ), 'unboxed' => __( 'Unboxed', 'astra' ), 'boxed' => __( 'Boxed', 'astra' ), ), 'responsive' => false, 'renderAs' => 'text', 'divider' => array( 'ast_class' => 'ast-top-divider ast-top-spacing' ), ), ); return array_merge( $configurations, $_configs ); } } } new Astra_Edd_Sidebar_Configs(); edd/customizer/class-astra-customizer-register-edd-section.php 0000644 00000003417 15006151013 0020647 0 ustar 00 <?php /** * Register customizer panels & sections for Easy Digital Downloads. * * @package Astra * @link https://wpastra.com/ * @since Astra 1.5.5 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } if ( ! class_exists( 'Astra_Customizer_Register_Edd_Section' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Customizer_Register_Edd_Section extends Astra_Customizer_Config_Base { /** * Register Panels and Sections for Customizer. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.5.5 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $configs = array( /** * WooCommerce */ array( 'name' => 'section-edd-group', 'type' => 'section', 'title' => __( 'Easy Digital Downloads', 'astra' ), 'priority' => 60, ), array( 'name' => 'section-edd-general', 'title' => __( 'General', 'astra' ), 'type' => 'section', 'section' => 'section-edd-group', 'priority' => 10, ), array( 'name' => 'section-edd-archive', 'title' => __( 'Product Archive', 'astra' ), 'type' => 'section', 'section' => 'section-edd-group', 'priority' => 10, ), array( 'name' => 'section-edd-single', 'type' => 'section', 'title' => __( 'Single Product', 'astra' ), 'section' => 'section-edd-group', 'priority' => 15, ), ); return array_merge( $configurations, $configs ); } } } new Astra_Customizer_Register_Edd_Section(); edd/edd-common-functions.php 0000644 00000021470 15006151013 0012035 0 ustar 00 <?php /** * Custom functions that used for Easy Digital Downloads compatibility. * * @package Astra * @link https://wpastra.com/ * @since Astra 1.5.5 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Current Page is EDD page */ if ( ! function_exists( 'astra_is_edd_page' ) ) : /** * Check current page is an EDD page * * @since 1.5.5 * @return bool true | false */ function astra_is_edd_page() { if ( is_singular( 'download' ) || is_post_type_archive( 'download' ) || is_tax( 'download_category' ) || is_tax( 'download_tag' ) || edd_is_checkout() || edd_is_success_page() || edd_is_failed_transaction_page() || edd_is_purchase_history_page() ) { return true; } return false; } endif; /** * Current Page is EDD single page */ if ( ! function_exists( 'astra_is_edd_single_page' ) ) : /** * Check current page is an EDD single page * * @since 1.5.5 * @return bool true | false */ function astra_is_edd_single_page() { if ( is_singular( 'download' ) || edd_is_checkout() || edd_is_success_page() || edd_is_failed_transaction_page() || edd_is_purchase_history_page() ) { return true; } return false; } endif; /** * Current Page is EDD archive page */ if ( ! function_exists( 'astra_is_edd_archive_page' ) ) : /** * Check current page is an EDD archive page * * @since 1.5.5 * @return bool true | false */ function astra_is_edd_archive_page() { if ( is_post_type_archive( 'download' ) || is_tax( 'download_category' ) || is_tax( 'download_tag' ) ) { return true; } return false; } endif; /** * Current Page is EDD single Product page */ if ( ! function_exists( 'astra_is_edd_single_product_page' ) ) : /** * Check current page is an EDD single product page * * @since 1.5.5 * @return bool true | false */ function astra_is_edd_single_product_page() { if ( is_singular( 'download' ) ) { return true; } return false; } endif; if ( ! function_exists( 'astra_edd_archive_product_structure' ) ) { /** * Show the product title in the product loop. By default this is an H2. */ function astra_edd_archive_product_structure() { $edd_structure = apply_filters( 'astra_edd_archive_product_structure', astra_get_option( 'edd-archive-product-structure' ) ); if ( is_array( $edd_structure ) && ! empty( $edd_structure ) ) { do_action( 'astra_edd_archive_before_block_wrap' ); echo '<div class="ast-edd-archive-block-wrap">'; do_action( 'astra_edd_archive_block_wrap_top' ); foreach ( $edd_structure as $value ) { switch ( $value ) { case 'title': /** * Add Product Title on edd page for all products. */ do_action( 'astra_edd_archive_title_before' ); do_action( 'astra_edd_archive_title' ); do_action( 'astra_edd_archive_title_after' ); break; case 'image': /** * Add Product Title on edd page for all products. */ do_action( 'astra_edd_archive_image_before' ); do_action( 'astra_edd_archive_image' ); do_action( 'astra_edd_archive_image_after' ); break; case 'price': /** * Add Product Price on edd page for all products. */ do_action( 'astra_edd_archive_price_before' ); do_action( 'astra_edd_archive_price' ); do_action( 'astra_edd_archive_price_after' ); break; case 'short_desc': /** * Add Product short description on edd page for all products. */ do_action( 'astra_edd_archive_short_description_before' ); do_action( 'astra_edd_archive_short_description' ); do_action( 'astra_edd_archive_short_description_after' ); break; case 'add_cart': /** * Add to cart on edd page for all products. */ do_action( 'astra_edd_archive_add_to_cart_before' ); do_action( 'astra_edd_archive_add_to_cart' ); do_action( 'astra_edd_archive_add_to_cart_after' ); break; case 'category': /** * Add and/or Remove Categories from edd archive page. */ do_action( 'astra_edd_archive_category_before' ); do_action( 'astra_edd_archive_category' ); do_action( 'astra_edd_archive_category_after' ); break; default: break; } } do_action( 'astra_edd_archive_block_wrap_bottom' ); echo '</div>'; do_action( 'astra_edd_archive_after_block_wrap' ); } } add_action( 'astra_edd_archive_product_content', 'astra_edd_archive_product_structure' ); } /** * Returns list of Easy Digital Downloads Terms */ if ( ! function_exists( 'astra_edd_terms_list' ) ) { /** * Show EDD product terms * * @param string $taxonomy_name Taxonomy name. * @return void */ function astra_edd_terms_list( $taxonomy_name ) { $product_id = get_the_ID(); if ( ! $product_id ) { return; } // Getting the terms related to the current products. $terms = get_the_terms( $product_id, $taxonomy_name ); if ( ! $terms || is_wp_error( $terms ) ) { return; } ?> <div class="ast-edd-download-categories"> <?php foreach ( $terms as $term ) : ?> <?php $term_link = get_term_link( $term, $taxonomy_name ); // If there was an error, continue to the next term. if ( is_wp_error( $term_link ) ) { continue; } ?> <a href=" <?php /** @psalm-suppress PossiblyInvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort echo esc_url( $term_link ); ?> " title="<?php echo esc_attr( $term->name ); ?>"> <?php echo esc_html( $term->name ); ?> </a> <?php endforeach; ?> </div> <?php } } if ( ! function_exists( 'astra_edd_archive_product_title' ) ) { /** * Show EDD archive product title * * @return void */ function astra_edd_archive_product_title() { edd_get_template_part( 'shortcode', 'content-title' ); } add_action( 'astra_edd_archive_title', 'astra_edd_archive_product_title' ); } if ( ! function_exists( 'astra_edd_archive_product_image' ) ) { /** * Show EDD archive product image * * @return void */ function astra_edd_archive_product_image() { edd_get_template_part( 'shortcode', 'content-image' ); } add_action( 'astra_edd_archive_image', 'astra_edd_archive_product_image' ); } if ( ! function_exists( 'astra_edd_archive_product_price' ) ) { /** * Show EDD archive product price * * @return void */ function astra_edd_archive_product_price() { edd_get_template_part( 'shortcode', 'content-price' ); } add_action( 'astra_edd_archive_price', 'astra_edd_archive_product_price' ); } if ( ! function_exists( 'astra_edd_archive_product_short_description' ) ) { /** * Show EDD archive product description * * @return void */ function astra_edd_archive_product_short_description() { edd_get_template_part( 'shortcode', 'content-excerpt' ); } add_action( 'astra_edd_archive_short_description', 'astra_edd_archive_product_short_description' ); } if ( ! function_exists( 'astra_edd_archive_product_add_to_cart' ) ) { /** * Show EDD archive product add to cart * * @return void */ function astra_edd_archive_product_add_to_cart() { echo astra_edd_cart_button_markup(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } add_action( 'astra_edd_archive_add_to_cart', 'astra_edd_archive_product_add_to_cart' ); } if ( ! function_exists( 'astra_edd_archive_product_category' ) ) { /** * Show EDD archive product category * * @return void */ function astra_edd_archive_product_category() { echo astra_edd_terms_list( 'download_category' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } add_action( 'astra_edd_archive_category', 'astra_edd_archive_product_category' ); } /** * EDD archive page Cart button markup * * @return array $output Add to cart button markup */ function astra_edd_cart_button_markup() { $variable_button = astra_get_option( 'edd-archive-variable-button' ); $add_to_cart_text = astra_get_i18n_option( 'edd-archive-add-to-cart-button-text', _x( '%astra%', 'EDD Product Archive: Cart Button Text', 'astra' ) ); $variable_button_text = astra_get_i18n_option( 'edd-archive-variable-button-text', _x( '%astra%', 'EDD Product Archive: Variable Product Button Text', 'astra' ) ); $output = edd_get_purchase_link(); if ( edd_has_variable_prices( get_the_ID() ) && 'button' == $variable_button ) { $output = '<div class="ast-edd-variable-details-button-wrap">'; $output .= '<a class="button ast-edd-variable-btn" href="' . esc_url( get_permalink() ) . '">' . esc_html( $variable_button_text ) . '</a>'; $output .= '</div>'; } else { if ( ! empty( $add_to_cart_text ) ) { $output = edd_get_purchase_link( array( 'price' => false, 'text' => esc_html( $add_to_cart_text ), 'checkout' => esc_html( $add_to_cart_text ), // To display astra customizer add to cart text. ) ); } } return $output; } class-astra-bb-ultimate-addon.php 0000644 00000026746 15006151013 0012767 0 ustar 00 <?php /** * Filters to override defaults in UABB * * @package Astra * @link https://wpastra.com/ * @since Astra 1.0.0 */ // If plugin - 'BB Ultimate Addon' not exist then return. if ( ! class_exists( 'BB_Ultimate_Addon' ) ) { return; } /** * Astra BB Ultimate Addon Compatibility */ if ( ! class_exists( 'Astra_BB_Ultimate_Addon' ) ) : /** * Astra BB Ultimate Addon Compatibility * * @since 1.0.0 */ class Astra_BB_Ultimate_Addon { /** * 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( 'uabb_global_support', array( $this, 'remove_uabb_global_setting' ) ); add_filter( 'uabb_theme_theme_color', array( $this, 'theme_color' ) ); add_filter( 'uabb_theme_text_color', array( $this, 'text_color' ) ); add_filter( 'uabb_theme_link_color', array( $this, 'link_color' ) ); add_filter( 'uabb_theme_link_hover_color', array( $this, 'link_hover_color' ) ); add_filter( 'uabb_theme_button_font_family', array( $this, 'button_font_family' ) ); add_filter( 'uabb_theme_button_font_size', array( $this, 'button_font_size' ) ); add_filter( 'uabb_theme_button_line_height', array( $this, 'button_line_height' ) ); add_filter( 'uabb_theme_button_letter_spacing', array( $this, 'button_letter_spacing' ) ); add_filter( 'uabb_theme_button_text_transform', array( $this, 'button_text_transform' ) ); add_filter( 'uabb_theme_button_text_color', array( $this, 'button_text_color' ) ); add_filter( 'uabb_theme_button_text_hover_color', array( $this, 'button_text_hover_color' ) ); add_filter( 'uabb_theme_button_bg_color', array( $this, 'button_bg_color' ) ); add_filter( 'uabb_theme_button_bg_hover_color', array( $this, 'button_bg_hover_color' ) ); add_filter( 'uabb_theme_button_border_radius', array( $this, 'button_border_radius' ) ); add_filter( 'uabb_theme_button_padding', array( $this, 'button_padding' ) ); add_filter( 'uabb_theme_button_border_width', array( $this, 'button_border_width' ) ); add_filter( 'uabb_theme_border_color', array( $this, 'button_border_color' ) ); add_filter( 'uabb_theme_border_hover_color', array( $this, 'button_border_hover_color' ) ); add_filter( 'uabb_theme_button_vertical_padding', array( $this, 'button_vertical_padding' ) ); add_filter( 'uabb_theme_button_horizontal_padding', array( $this, 'button_horizontal_padding' ) ); /** * Default button type UABB compatibility. */ add_filter( 'uabb_theme_default_button_font_size', array( $this, 'default_type_button_font_size' ) ); add_filter( 'uabb_theme_default_button_line_height', array( $this, 'default_type_button_line_height' ) ); add_filter( 'uabb_theme_default_button_letter_spacing', array( $this, 'default_type_button_letter_spacing' ) ); add_filter( 'uabb_theme_default_button_text_transform', array( $this, 'default_type_button_text_transform' ) ); add_filter( 'uabb_theme_default_button_text_color', array( $this, 'default_type_button_text_color' ) ); add_filter( 'uabb_theme_default_button_text_hover_color', array( $this, 'default_type_button_text_hover_color' ) ); add_filter( 'uabb_theme_default_button_bg_color', array( $this, 'default_type_button_bg_color' ) ); add_filter( 'uabb_theme_default_button_bg_hover_color', array( $this, 'default_type_button_bg_hover_color' ) ); add_filter( 'uabb_theme_default_button_padding', array( $this, 'default_type_button_padding' ) ); } /** * Remove UABB Global Setting Option */ public function remove_uabb_global_setting() { return false; } /** * Theme Color */ public function theme_color() { return astra_get_option( 'theme-color' ); } /** * Text Color */ public function text_color() { return astra_get_option( 'text-color' ); } /** * Link Color */ public function link_color() { return astra_get_option( 'link-color' ); } /** * Link Hover Color */ public function link_hover_color() { return astra_get_option( 'link-h-color' ); } /** * 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() { return ''; } /** * Button Line Height */ public function button_line_height() { return ''; } /** * Default type : Button Font Size * * @since 2.2.0 */ public function default_type_button_font_size() { $font_size_arr = array(); $body_font_size = astra_get_option( 'font-size-body' ); $theme_btn_font_size = astra_get_option( 'font-size-button' ); $font_size_arr['desktop'] = astra_responsive_font( $theme_btn_font_size, 'desktop' ); $font_size_arr['tablet'] = astra_responsive_font( $theme_btn_font_size, 'tablet' ); $font_size_arr['mobile'] = astra_responsive_font( $theme_btn_font_size, 'mobile' ); if ( empty( $font_size_arr['desktop'] ) ) { $font_size_arr['desktop'] = astra_responsive_font( $body_font_size, 'desktop' ); } if ( empty( $font_size_arr['tablet'] ) ) { $font_size_arr['tablet'] = astra_responsive_font( $body_font_size, 'tablet' ); } if ( empty( $font_size_arr['mobile'] ) ) { $font_size_arr['mobile'] = astra_responsive_font( $body_font_size, 'mobile' ); } return $font_size_arr; } /** * Default type : Button Line Height * * @since 2.2.0 */ public function default_type_button_line_height() { $theme_btn_body_line_height = astra_get_option( 'body-line-height', 1.85714285714286 ); $theme_btn_line_height = astra_get_option( 'theme-btn-line-height', $theme_btn_body_line_height ); return $theme_btn_line_height; } /** * Button Letter Spacing */ public function button_letter_spacing() { return ''; } /** * Default type : Button Letter Spacing * * @since 2.2.0 */ public function default_type_button_letter_spacing() { $theme_btn_letter_spacing = astra_get_option( 'theme-btn-letter-spacing' ); return $theme_btn_letter_spacing; } /** * Button Text Transform */ public function button_text_transform() { return ''; } /** * Default type : Button Text Transform * * @since 2.2.0 */ public function default_type_button_text_transform() { $theme_btn_text_transform = astra_get_font_extras( astra_get_option( 'font-extras-button' ), 'text-transform' ); return $theme_btn_text_transform; } /** * Button Text Color */ public function button_text_color() { $theme_color = astra_get_option( 'theme-color' ); $link_color = astra_get_option( 'link-color', $theme_color ); $color = astra_get_option( 'button-color' ); if ( empty( $color ) ) { $color = astra_get_foreground_color( $link_color ); } return $color; } /** * Default type : Button Text Color * * @since 2.2.0 */ public function default_type_button_text_color() { $theme_color = astra_get_option( 'theme-color' ); $btn_text_color = astra_get_option( 'button-color' ); if ( empty( $btn_text_color ) ) { $btn_text_color = astra_get_foreground_color( $theme_color ); } return $btn_text_color; } /** * Button Text Hover Color */ public function button_text_hover_color() { $link_hover_color = astra_get_option( 'link-h-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 ); } return $btn_text_hover_color; } /** * Default type : Button Text Hover Color * * @since 2.2.0 */ public function default_type_button_text_hover_color() { $link_hover_color = astra_get_option( 'link-h-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 ); } return $btn_text_hover_color; } /** * Button Background Color */ public function button_bg_color() { return astra_get_option( 'button-bg-color' ); } /** * Default type : Button Background Color * * @since 2.2.0 */ public function default_type_button_bg_color() { $theme_color = astra_get_option( 'theme-color' ); $btn_bg_color = astra_get_option( 'button-bg-color', $theme_color ); return $btn_bg_color; } /** * Button Background Color */ public function button_bg_hover_color() { return astra_get_option( 'button-bg-h-color' ); } /** * Default type : Button Background Color * * @since 2.2.0 */ public function default_type_button_bg_hover_color() { $link_hover_color = astra_get_option( 'link-h-color' ); $btn_bg_hover_color = astra_get_option( 'button-bg-h-color', $link_hover_color ); return $btn_bg_hover_color; } /** * Button Border Radius */ public function button_border_radius() { return astra_get_option( 'button-radius' ); } /** * Button Padding */ public function button_padding() { $padding = ''; $v_padding = astra_get_option( 'button-v-padding' ); $h_padding = astra_get_option( 'button-h-padding' ); if ( '' != $v_padding && '' != $h_padding ) { $padding = $v_padding . 'px ' . $h_padding . 'px'; } return $padding; } /** * Default type : Button Padding * * @since 2.2.0 */ public function default_type_button_padding() { $padding = astra_get_option( 'theme-button-padding' ); return $padding; } /** * Button Border Width */ public function button_border_width() { $btn_width = array(); $get_btn_width = astra_get_option( 'theme-button-border-group-border-size' ); if ( ! empty( $get_btn_width ) ) { $btn_width = $get_btn_width; } return $btn_width; } /** * Button Border Color */ public function button_border_color() { $theme_color = astra_get_option( 'theme-color' ); $btn_bg_color = astra_get_option( 'button-bg-color', $theme_color ); $get_btn_border_color = astra_get_option( 'theme-button-border-group-border-color', $btn_bg_color ); return $get_btn_border_color; } /** * Button Border Hover Color */ public function button_border_hover_color() { $link_hover_color = astra_get_option( 'link-h-color' ); $btn_bg_hover_color = astra_get_option( 'button-bg-h-color', $link_hover_color ); $get_btn_border_h_color = astra_get_option( 'theme-button-border-group-border-h-color', $btn_bg_hover_color ); return $get_btn_border_h_color; } /** * Button Vertical Padding. * * @deprecated 2.2.0 */ public function button_vertical_padding() { $padding = ''; $v_padding = astra_get_option( 'button-v-padding' ); if ( '' != $v_padding ) { $padding = $v_padding; } return $padding; } /** * Button Horizontal Padding. * * @deprecated 2.2.0 */ public function button_horizontal_padding() { $padding = ''; $h_padding = astra_get_option( 'button-h-padding' ); if ( '' != $h_padding ) { $padding = $h_padding; } return $padding; } } endif; /** * Kicking this off by calling 'get_instance()' method */ Astra_BB_Ultimate_Addon::get_instance(); class-astra-site-origin.php 0000644 00000002252 15006151013 0011712 0 ustar 00 <?php /** * Site Origin Compatibility File. * * @package Astra */ // If plugin - 'Site Origin' not exist then return. if ( ! class_exists( 'SiteOrigin_Panels_Settings' ) ) { return; } /** * Astra Site Origin Compatibility */ if ( ! class_exists( 'Astra_Site_Origin' ) ) : /** * Astra Site Origin Compatibility * * @since 1.0.0 */ class Astra_Site_Origin { /** * 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 assets in theme * * @param array $assets list of theme assets (JS & CSS). * @return array List of updated assets. * @since 1.0.0 */ public function add_styles( $assets ) { $assets['css']['astra-site-origin'] = 'compatibility/site-origin'; return $assets; } } endif; /** * Kicking this off by calling 'get_instance()' method */ Astra_Site_Origin::get_instance(); index.php 0000644 00000000157 15006151013 0006357 0 ustar 00 <?php /** * Index file * * @package Astra * @since Astra 1.0.0 */ /* Silence is golden, and we agree. */ lifterlms/class-astra-lifterlms.php 0000644 00000107734 15006151013 0013476 0 ustar 00 <?php /** * Lifter LMS Compatibility File. * * @package Astra * @since 1.2.0 */ // If plugin - 'Lifter LMS' not exist then return. if ( ! class_exists( 'LifterLMS' ) ) { return; } /** * Astra Lifter LMS Compatibility */ if ( ! class_exists( 'Astra_LifterLMS' ) ) : /** * Astra Lifter LMS Compatibility * * @since 1.2.0 */ class Astra_LifterLMS { /** * 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_action( 'wp', array( $this, 'lifterlms_init' ), 1 ); add_filter( 'llms_get_theme_default_sidebar', array( $this, 'add_sidebar' ) ); add_action( 'after_setup_theme', array( $this, 'add_theme_support' ) ); add_filter( 'astra_theme_assets', array( $this, 'add_styles' ) ); add_action( 'wp_enqueue_scripts', 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' ) ); add_action( 'lifterlms_before_main_content', array( $this, 'before_main_content_start' ) ); add_action( 'lifterlms_after_main_content', array( $this, 'before_main_content_end' ) ); // Grid. add_filter( 'lifterlms_loop_columns', array( $this, 'course_grid' ) ); add_filter( 'llms_get_loop_list_classes', array( $this, 'course_responsive_grid' ), 999 ); // Course builder custom fields. add_filter( 'llms_builder_register_custom_fields', array( $this, 'register_builder_fields' ) ); } /** * Remove LifterLMS Default actions * * @since 1.2.0 */ public function lifterlms_init() { // Page Title. if ( is_courses() ) { $course_page_id = get_option( 'lifterlms_shop_page_id' ); $course_title = get_post_meta( $course_page_id, 'site-post-title', true ); $main_header_display = get_post_meta( $course_page_id, 'ast-main-header-display', true ); $footer_layout = get_post_meta( $course_page_id, 'footer-sml-layout', true ); if ( 'disabled' === $course_title ) { add_filter( 'lifterlms_show_page_title', '__return_false' ); } if ( 'disabled' === $main_header_display ) { remove_action( 'astra_masthead', 'astra_masthead_primary_template' ); } if ( 'disabled' === $footer_layout ) { remove_action( 'astra_footer_content', 'astra_footer_small_footer_template', 5 ); } } // Page Title. if ( is_memberships() ) { $membership_page_id = get_option( 'lifterlms_memberships_page_id' ); $membership_title = get_post_meta( $membership_page_id, 'site-post-title', true ); $main_header_display = get_post_meta( $membership_page_id, 'ast-main-header-display', true ); $footer_layout = get_post_meta( $membership_page_id, 'footer-sml-layout', true ); if ( 'disabled' === $membership_title ) { add_filter( 'lifterlms_show_page_title', '__return_false' ); } if ( 'disabled' === $main_header_display ) { remove_action( 'astra_masthead', 'astra_masthead_primary_template' ); } if ( 'disabled' === $footer_layout ) { remove_action( 'astra_footer_content', 'astra_footer_small_footer_template', 5 ); } } remove_action( 'lifterlms_before_main_content', 'lifterlms_output_content_wrapper', 10 ); remove_action( 'lifterlms_after_main_content', 'lifterlms_output_content_wrapper_end', 10 ); remove_action( 'lifterlms_sidebar', 'lifterlms_get_sidebar' ); if ( is_lesson() ) { remove_action( 'lifterlms_single_lesson_after_summary', 'lifterlms_template_lesson_navigation', 20 ); remove_action( 'astra_entry_after', 'astra_single_post_navigation_markup' ); if ( 'yes' !== apply_filters( 'llms_blocks_is_post_migrated', get_post_meta( get_the_ID(), '_llms_blocks_migrated', true ), get_the_ID() ) ) { // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound add_action( 'astra_entry_after', 'lifterlms_template_lesson_navigation' ); } } if ( is_quiz() || is_singular( 'llms_assignment' ) ) { remove_action( 'astra_entry_after', 'astra_single_post_navigation_markup' ); } $lifter_certificate_post_type = get_post_type(); if ( 'llms_certificate' === $lifter_certificate_post_type || 'llms_my_certificate' === $lifter_certificate_post_type ) { if ( ! is_admin() ) { add_filter( 'post_class', 'astra_certificate_class' ); /** * Remove ast-article-single class in case of content-boxed and boxed layout. * * @since 2.3.3 * @param array $array is a array of classes. * @return array */ function astra_certificate_class( $array ) { $delete_class = array_search( 'ast-article-single', $array ); if ( false !== $delete_class ) { unset( $array[ $delete_class ] ); } return $array; } } } remove_action( 'lifterlms_single_course_after_summary', 'lifterlms_template_single_reviews', 100 ); add_action( 'lifterlms_single_course_after_summary', array( $this, 'single_reviews' ), 100 ); remove_action( 'lifterlms_student_dashboard_header', 'lifterlms_template_student_dashboard_title', 20 ); } /** * Register Customizer sections and panel for lifterlms * * @since 1.2.0 * @param WP_Customize_Manager $wp_customize Theme Customizer object. */ public function customize_register( $wp_customize ) { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound /** * Register Sections & Panels */ require ASTRA_THEME_DIR . 'inc/compatibility/lifterlms/customizer/class-astra-liferlms-section-configs.php'; /** * Sections */ require ASTRA_THEME_DIR . 'inc/compatibility/lifterlms/customizer/sections/class-astra-lifter-container-configs.php'; require ASTRA_THEME_DIR . 'inc/compatibility/lifterlms/customizer/sections/class-astra-lifter-sidebar-configs.php'; require ASTRA_THEME_DIR . 'inc/compatibility/lifterlms/customizer/sections/layout/class-astra-lifter-general-configs.php'; // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } /** * Theme Defaults. * * @since 1.2.0 * @param array $defaults Array of options value. * @return array */ public function theme_defaults( $defaults ) { // General. $defaults['llms-course-grid'] = array( 'desktop' => 3, 'tablet' => 2, 'mobile' => 1, ); $defaults['llms-membership-grid'] = array( 'desktop' => 3, 'tablet' => 2, 'mobile' => 1, ); // Container. $defaults['lifterlms-ast-content-layout'] = 'normal-width-container'; // Sidebar. $defaults['lifterlms-sidebar-layout'] = 'no-sidebar'; $defaults['lifterlms-course-lesson-sidebar-layout'] = 'default'; return $defaults; } /** * This function handles the HTML output of the reviews and review form. * If the option is enabled, the review form will be output, * if not, nothing will happen. This function also checks to * see if a user is allowed to review more than once. * * @since 1.2.0 */ public function single_reviews() { /** * Check to see if we are supposed to output the code at all */ if ( get_post_meta( get_the_ID(), '_llms_display_reviews', true ) ) { ?> <div id="old_reviews"> <h3><?php echo apply_filters( 'lifterlms_reviews_section_title', _e( 'What Others Have Said', 'astra' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound ?></h3> <?php $args = array( 'posts_per_page' => get_post_meta( get_the_ID(), '_llms_num_reviews', true ), // phpcs:ignore WPThemeReview.CoreFunctionality.PostsPerPage.posts_per_page_posts_per_page, WordPress.WP.PostsPerPage.posts_per_page_posts_per_page 'post_type' => 'llms_review', 'post_status' => 'publish', 'post_parent' => get_the_ID(), 'suppress_filters' => true, // phpcs:ignore WordPressVIPMinimum.Performance.WPQueryParams.SuppressFiltersTrue -- Required for the query to work properly. ); /** @psalm-suppress ArgumentTypeCoercion */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $posts_array = get_posts( $args ); /** @psalm-suppress ArgumentTypeCoercion */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $styles = array( 'background-color' => '#EFEFEF', 'title-color' => 'inherit', 'text-color' => 'inherit', 'custom-css' => '', ); if ( has_filter( 'llms_review_custom_styles' ) ) { $styles = apply_filters( 'llms_review_custom_styles', $styles ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound } foreach ( $posts_array as $post ) { echo $styles['custom-css']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> <div class="llms_review" style="background-color:<?php echo esc_attr( $styles['background-color'] ); ?>;"> <h5 style="color:<?php echo esc_attr( $styles['title-color'] ); ?>;"><strong><?php echo esc_html( get_the_title( $post->ID ) ); ?></strong></h5> <?php /* translators: 1 Author Name. */ ?> <h6 style="color:<?php echo esc_attr( $styles['text-color'] ); ?>;"><?php echo esc_html( sprintf( __( 'By: %s', 'astra' ), get_the_author_meta( 'display_name', get_post_field( 'post_author', $post->ID ) ) ) ); ?></h6> <p style="color:<?php echo esc_attr( $styles['text-color'] ); ?>;"><?php echo get_post_field( 'post_content', $post->ID ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p> </div> <?php } ?> <hr> </div> <?php } /** * Check to see if reviews are open */ if ( get_post_meta( get_the_ID(), '_llms_reviews_enabled', true ) && is_user_logged_in() ) { /** * Look for previous reviews that we have written on this course. * * @var array */ $args = array( 'posts_per_page' => 1, 'post_type' => 'llms_review', 'post_status' => 'publish', 'post_parent' => get_the_ID(), 'author' => get_current_user_id(), 'suppress_filters' => true, // phpcs:ignore WordPressVIPMinimum.Performance.WPQueryParams.SuppressFiltersTrue -- Required for the query to work properly. ); $posts_array = get_posts( $args ); /** * Check to see if we are allowed to write more than one review. * If we are not, check to see if we have written a review already. */ if ( get_post_meta( get_the_ID(), '_llms_multiple_reviews_disabled', true ) && $posts_array ) { ?> <div id="thank_you_box"> <h2><?php echo apply_filters( 'llms_review_thank_you_text', __( 'Thank you for your review!', 'astra' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound ?></h2> </div> <?php } else { $post_id = absint( get_the_ID() ); ?> <div class="review_box" id="review_box"> <h3><?php esc_html_e( 'Write a Review', 'astra' ); ?></h3> <input type="text" name="review_title" placeholder="<?php esc_attr_e( 'Review Title', 'astra' ); ?>" id="review_title"> <h5 style="color:red; display:none" id="review_title_error"><?php esc_html_e( 'Review Title is required.', 'astra' ); ?></h5> <textarea name="review_text" placeholder="<?php esc_attr_e( 'Review Text', 'astra' ); ?>" id="review_text"></textarea> <h5 style="color:red; display:none" id="review_text_error"><?php esc_html_e( 'Review Text is required.', 'astra' ); ?></h5> <?php wp_nonce_field( 'submit_review', 'submit_review_nonce_code' ); ?> <input name="action" value="submit_review" type="hidden"> <input name="post_ID" value="<?php /** @psalm-suppress InvalidScalarArgument */ echo esc_attr( $post_id ); ?>" type="hidden" id="post_ID"> <input type="submit" class="button" value="<?php esc_attr_e( 'Leave Review', 'astra' ); ?>" id="llms_review_submit_button"> </div> <div id="thank_you_box" style="display:none;"> <h2><?php echo apply_filters( 'llms_review_thank_you_text', __( 'Thank you for your review!', 'astra' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound ?></h2> </div> <?php } } } /** * LLMS Grid. * * @since 1.2.0 * @param number $grid Number of grid for course. * @return number */ public function course_grid( $grid ) { $course_grid = astra_get_option( 'llms-course-grid' ); if ( ! empty( $course_grid['desktop'] ) ) { return $course_grid['desktop']; } return $grid; } /** * LLMS Resposive grid class. * * @since 1.2.0 * @param array $classes Classes. * @return array */ public function course_responsive_grid( $classes ) { $llms_grid = astra_get_option( 'llms-course-grid' ); if ( in_array( 'llms-membership-list', $classes ) ) { $llms_grid = astra_get_option( 'llms-membership-grid' ); if ( ! empty( $llms_grid['desktop'] ) ) { $default_class = array( 'cols-1', 'cols-2', 'cols-3', 'cols-4', 'cols-5', 'cols-6' ); foreach ( $default_class as $class ) { $index = array_search( $class, $classes ); if ( $index >= 0 ) { unset( $classes[ $index ] ); } } $classes[] = 'cols-' . $llms_grid['desktop']; } } if ( ! empty( $llms_grid['tablet'] ) ) { $classes[] = 'llms-tablet-cols-' . $llms_grid['tablet']; } if ( ! empty( $llms_grid['mobile'] ) ) { $classes[] = 'llms-mobile-cols-' . $llms_grid['mobile']; } return $classes; } /** * Enqueue styles * * @since 1.2.0 * @return void */ public function add_dynamic_styles() { /** * - Variable Declaration */ $theme_color = astra_get_option( 'theme-color' ); $link_color = astra_get_option( 'link-color', $theme_color ); $link_h_color = astra_get_option( 'link-h-color' ); $theme_forground_color = astra_get_foreground_color( $link_color ); $btn_color = astra_get_option( 'button-color' ); if ( empty( $btn_color ) ) { $btn_color = $theme_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', '', $link_color ); $btn_bg_h_color = astra_get_option( 'button-bg-h-color', '', $link_h_color ); $btn_border_size = astra_get_option( 'theme-button-border-group-border-size' ); $btn_border_color = astra_get_option( 'theme-button-border-group-border-color', $link_color ); $btn_border_h_color = astra_get_option( 'theme-button-border-group-border-h-color', $link_h_color ); $btn_border_radius_fields = astra_get_option( 'button-radius-fields' ); $theme_btn_padding = astra_get_option( 'theme-button-padding' ); /** * Theme Button Typography */ $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_font_extras = astra_get_option( 'font-extras-button' ); $theme_btn_text_transform = astra_get_font_extras( $theme_btn_font_extras, 'text-transform' ); $theme_btn_line_height = astra_get_font_extras( $theme_btn_font_extras, 'line-height', 'line-height-unit' ); $theme_btn_letter_spacing = astra_get_font_extras( $theme_btn_font_extras, 'letter-spacing', 'letter-spacing-unit' ); $theme_btn_text_decoration = astra_get_font_extras( $theme_btn_font_extras, 'text-decoration' ); $css_output = array( '.lifterlms a.llms-button-primary, .lifterlms a.llms-button-secondary, .lifterlms .llms-button-action, .lifterlms button.llms-field-button, .lifterlms a.llms-field-button' => array( 'color' => $btn_color, 'background-color' => $btn_bg_color, 'border-style' => 'solid', 'border-color' => $btn_border_color, 'border-top-width' => ( isset( $btn_border_size['top'] ) && '' !== $btn_border_size['top'] ) ? astra_get_css_value( $btn_border_size['top'], 'px' ) : '0', 'border-right-width' => ( isset( $btn_border_size['right'] ) && '' !== $btn_border_size['right'] ) ? astra_get_css_value( $btn_border_size['right'], 'px' ) : '0', 'border-left-width' => ( isset( $btn_border_size['left'] ) && '' !== $btn_border_size['left'] ) ? astra_get_css_value( $btn_border_size['left'], 'px' ) : '0', 'border-bottom-width' => ( isset( $btn_border_size['bottom'] ) && '' !== $btn_border_size['bottom'] ) ? astra_get_css_value( $btn_border_size['bottom'], 'px' ) : '0', '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 ), 'text-decoration' => esc_attr( $theme_btn_text_decoration ), 'letter-spacing' => esc_attr( $theme_btn_letter_spacing ), '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' ), ), '.lifterlms a.llms-button-primary:hover, .lifterlms a.llms-button-primary:focus, .lifterlms a.llms-button-secondary:hover, .lifterlms a.llms-button-secondary:focus, .lifterlms .llms-button-action:hover, .lifterlms .llms-button-action:focus, .lifterlms button.llms-field-button:hover, .lifterlms button.llms-field-button:focus, .lifterlms a.llms-field-button:hover, .lifterlms a.llms-field-button:focus' => array( 'color' => $btn_h_color, 'border-color' => $btn_border_h_color, 'background-color' => $btn_bg_h_color, ), 'nav.llms-pagination ul li a:focus, nav.llms-pagination ul li a:hover, nav.llms-pagination ul li span.current' => array( 'background' => $link_color, 'color' => $btn_color, ), 'nav.llms-pagination ul, nav.llms-pagination ul li, .llms-instructor-info .llms-instructors .llms-author, .llms-instructor-info .llms-instructors .llms-author .avatar' => array( 'border-color' => $link_color, ), '.llms-progress .progress-bar-complete, .llms-instructor-info .llms-instructors .llms-author .avatar, h4.llms-access-plan-title, .llms-lesson-preview .llms-icon-free, .llms-access-plan .stamp, .llms-student-dashboard .llms-status.llms-active, .llms-student-dashboard .llms-status.llms-completed, .llms-student-dashboard .llms-status.llms-txn-succeeded, .color-full, body .llms-syllabus-wrapper .llms-section-title' => array( 'background' => $link_color, ), '.llms-lesson-preview.is-complete .llms-lesson-complete, .llms-lesson-preview.is-free .llms-lesson-complete, .llms-widget-syllabus .lesson-complete-placeholder.done, .llms-widget-syllabus .llms-lesson-complete.done, .single-llms_quiz .llms-quiz-results .llms-donut.passing, .llms-quiz-timer' => array( 'color' => $link_color, ), '.llms-quiz-timer' => array( 'border-color' => $link_color, ), '.single-llms_quiz .llms-quiz-results .llms-donut.passing svg path' => array( 'stroke' => $link_color, ), 'h4.llms-access-plan-title, .llms-instructor-info .llms-instructors .llms-author .avatar, h4.llms-access-plan-title, .llms-lesson-preview .llms-icon-free, .llms-access-plan .stamp, .llms-student-dashboard .llms-status.llms-active, .llms-student-dashboard .llms-status.llms-completed, .llms-student-dashboard .llms-status.llms-txn-succeeded, body .llms-syllabus-wrapper .llms-section-title' => array( 'color' => $theme_forground_color, ), 'body .progress-bar-complete:after' => array( 'color' => $theme_forground_color, ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output ); if ( is_lesson() ) { $css_output .= $this->llms_single_lesson_css(); } /** * Global button CSS - Tablet. */ $css_global_button_tablet = array( '.lifterlms a.llms-button-primary, .lifterlms a.llms-button-secondary, .lifterlms .llms-button-action, .lifterlms button.llms-field-button, .lifterlms a.llms-field-button' => 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' ), 'padding-top' => astra_responsive_spacing( $theme_btn_padding, 'top', 'tablet' ), 'padding-right' => astra_responsive_spacing( $theme_btn_padding, 'right', 'tablet' ), 'padding-bottom' => astra_responsive_spacing( $theme_btn_padding, 'bottom', 'tablet' ), 'padding-left' => astra_responsive_spacing( $theme_btn_padding, 'left', 'tablet' ), ), ); $css_output .= astra_parse_css( $css_global_button_tablet, '', astra_get_tablet_breakpoint() ); /** * Global button CSS - Mobile. */ $css_global_button_mobile = array( '.lifterlms a.llms-button-primary, .lifterlms a.llms-button-secondary, .lifterlms .llms-button-action, .lifterlms button.llms-field-button, .lifterlms a.llms-field-button' => 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' ), 'padding-top' => astra_responsive_spacing( $theme_btn_padding, 'top', 'mobile' ), 'padding-right' => astra_responsive_spacing( $theme_btn_padding, 'right', 'mobile' ), 'padding-bottom' => astra_responsive_spacing( $theme_btn_padding, 'bottom', 'mobile' ), 'padding-left' => astra_responsive_spacing( $theme_btn_padding, 'left', 'mobile' ), ), ); $css_output .= astra_parse_css( $css_global_button_mobile, '', astra_get_mobile_breakpoint() ); wp_add_inline_style( 'lifterlms-styles', apply_filters( 'astra_theme_lifterlms_dynamic_css', $css_output ) ); } /** * Add start of wrapper * * @since 1.2.0 * @return void */ public function before_main_content_start() { $site_sidebar = astra_page_layout(); if ( 'left-sidebar' == $site_sidebar ) { get_sidebar(); } ?> <div id="primary" class="content-area primary"> <?php astra_primary_content_top(); ?> <main id="main" class="site-main"> <div class="ast-lifterlms-container"> <?php } /** * Add end of wrapper * * @since 1.2.0 * @return void */ public function before_main_content_end() { ?> </div> <!-- .ast-lifterlms-container --> </main> <!-- #main --> <?php astra_primary_content_bottom(); ?> </div> <!-- #primary --> <?php $site_sidebar = astra_page_layout(); if ( 'right-sidebar' == $site_sidebar ) { get_sidebar(); } } /** * Display LifterLMS Course and Lesson sidebars * on courses and lessons in place of the sidebar returned by * this function * * @since 1.2.0 * @param string $id default sidebar id (an empty string). * @return string */ public function add_sidebar( $id ) { $sidebar_id = 'sidebar-1'; // replace this with theme's sidebar ID. return $sidebar_id; } /** * Declare explicit theme support for LifterLMS course and lesson sidebars * * @since 1.2.0 * @return void */ public function add_theme_support() { add_theme_support( 'lifterlms' ); add_theme_support( 'lifterlms-quizzes' ); add_theme_support( 'lifterlms-sidebars' ); } /** * Add assets in theme * * @since 1.2.0 * @param array $assets list of theme assets (JS & CSS). * @return array List of updated assets. */ public function add_styles( $assets ) { $assets['css']['astra-lifterlms'] = ( ! Astra_Builder_Helper::apply_flex_based_css() ) ? 'compatibility/lifterlms' : 'compatibility/lifterlms-flex'; return $assets; } /** * LifterLMS Sidebar * * @since 1.2.0 * @param string $layout Layout type. * @return string $layout Layout type. */ public function sidebar_layout( $layout ) { if ( ( is_lifterlms() ) || is_llms_account_page() || is_llms_checkout() ) { $llms_sidebar = astra_get_option( 'lifterlms-sidebar-layout' ); if ( is_lesson() || is_course() ) { $llms_sidebar = astra_get_option( 'lifterlms-course-lesson-sidebar-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_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 ) { $llms_sidebar = $dynamic_sidebar_layout; } } if ( 'default' !== $llms_sidebar ) { $layout = $llms_sidebar; } if ( is_courses() ) { $shop_page_id = get_option( 'lifterlms_shop_page_id' ); $shop_sidebar = get_post_meta( $shop_page_id, 'site-sidebar-layout', true ); } elseif ( is_memberships() ) { $membership_page_id = get_option( 'lifterlms_memberships_page_id' ); $shop_sidebar = get_post_meta( $membership_page_id, 'site-sidebar-layout', true ); } elseif ( is_course_taxonomy() ) { $shop_sidebar = 'default'; } else { $shop_sidebar = astra_get_option_meta( 'site-sidebar-layout', '', true ); } if ( 'default' !== $shop_sidebar && ! empty( $shop_sidebar ) ) { $layout = $shop_sidebar; } } return $layout; } /** * LifterLMS Container * * @since 1.2.0 * @param string $layout Layout type. * @return string $layout Layout type. */ public function content_layout( $layout ) { if ( is_lifterlms() || is_llms_account_page() || is_llms_checkout() ) { $llms_layout = astra_toggle_layout( 'lifterlms-ast-content-layout', 'global', false ); $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 ) { $llms_layout = $dynamic_sidebar_layout; } } if ( 'default' !== $llms_layout ) { $layout = $llms_layout; } if ( is_courses() ) { $shop_page_id = get_option( 'lifterlms_shop_page_id' ); $shop_layout = get_post_meta( $shop_page_id, 'site-content-layout', true ); } elseif ( is_memberships() ) { $membership_page_id = get_option( 'lifterlms_memberships_page_id' ); $shop_layout = get_post_meta( $membership_page_id, 'site-content-layout', true ); } elseif ( is_course_taxonomy() ) { $shop_layout = 'default'; } else { $old_meta_layout = astra_get_option_meta( 'site-content-layout', '', true ); if ( isset( $old_meta_layout ) ) { $shop_layout = astra_toggle_layout( 'ast-site-content-layout', 'meta', false, $old_meta_layout ); } else { $shop_layout = astra_toggle_layout( 'ast-site-content-layout', 'meta', false ); } } if ( 'default' !== $shop_layout && ! empty( $shop_layout ) ) { $layout = $shop_layout; } } return $layout; } /** * Register theme postmeta fields with the LifterLMS Builder * * @since 1.3.3 * @param string $default_fields Default custom field definitions. * @return string $default_fields Updated custom field definitions. */ public function register_builder_fields( $default_fields ) { $disable_fields = array(); $show_meta_field = ! Astra_Meta_Boxes::is_bb_themer_layout(); /** * Main Header. */ $disable_fields[] = array( 'attribute' => 'ast-main-header-display', 'id' => 'ast-main-header-display', 'label' => esc_html__( 'Disable Primary Header', 'astra' ), 'switch_on' => 'disabled', 'type' => 'switch', ); /** * Above Header */ $disable_fields[] = array( 'attribute' => 'ast-hfb-above-header-display', 'id' => 'ast-hfb-above-header-display', 'label' => esc_html__( 'Disable Above Header', 'astra' ), 'switch_on' => 'disabled', 'type' => 'switch', ); /** * Below Header */ $disable_fields[] = array( 'attribute' => 'ast-hfb-below-header-display', 'id' => 'ast-hfb-below-header-display', 'label' => esc_html__( 'Disable Below Header', 'astra' ), 'switch_on' => 'disabled', 'type' => 'switch', ); /** * Mobile Header */ $disable_fields[] = array( 'attribute' => 'ast-hfb-mobile-header-display', 'id' => 'ast-hfb-mobile-header-display', 'label' => esc_html__( 'Disable Mobile Header', 'astra' ), 'switch_on' => 'disabled', 'type' => 'switch', ); if ( $show_meta_field ) { $disable_fields[] = array( 'attribute' => 'site-post-title', 'id' => 'site-post-title', 'label' => esc_html__( 'Disable Title', 'astra' ), 'switch_on' => 'disabled', 'type' => 'switch', ); } if ( $show_meta_field && 'disabled' != astra_get_option( 'footer-adv' ) ) { $disable_fields[] = array( 'attribute' => 'footer-adv-display', 'id' => 'footer-adv-display', 'label' => esc_html__( 'Disable Footer Widgets', 'astra' ), 'switch_on' => 'disabled', 'type' => 'switch', ); } if ( 'disabled' != astra_get_option( 'footer-sml-layout' ) ) { $disable_fields[] = array( 'attribute' => 'footer-sml-layout', 'id' => 'footer-sml-layout', 'label' => esc_html__( 'Disable Footer', 'astra' ), 'switch_on' => 'disabled', 'type' => 'switch', ); } $fields['astra_theme_settings'] = array( 'title' => __( 'Astra Settings', 'astra' ), 'toggleable' => true, 'fields' => apply_filters( 'astra_theme_lifterlms_settings', array( array( array( 'attribute' => 'site-sidebar-layout', 'id' => 'site-sidebar-layout', 'label' => esc_html__( 'Sidebar', 'astra' ), 'type' => 'ast-select', 'options' => array( 'default' => esc_html__( 'Customizer Setting', 'astra' ), 'left-sidebar' => esc_html__( 'Left Sidebar', 'astra' ), 'right-sidebar' => esc_html__( 'Right Sidebar', 'astra' ), 'no-sidebar' => esc_html__( 'No Sidebar', 'astra' ), ), ), array( 'attribute' => 'site-content-layout', 'id' => 'site-content-layout', 'label' => esc_html__( 'Content Layout', 'astra' ), 'type' => 'ast-select', 'options' => array( 'default' => esc_html__( 'Customizer Setting', 'astra' ), 'boxed-container' => esc_html__( 'Boxed', 'astra' ), 'content-boxed-container' => esc_html__( 'Content Boxed', 'astra' ), 'plain-container' => esc_html__( 'Full Width / Contained', 'astra' ), 'page-builder' => esc_html__( 'Full Width / Stretched', 'astra' ), ), ), ), $disable_fields, ) ), ); $default_fields['assignment'] = $fields; $default_fields['lesson'] = $fields; $default_fields['quiz'] = $fields; return $default_fields; } /** * Llms single lesson static CSS move to dynamic to load conditionally. * * @since 3.3.0 * @return string */ public function llms_single_lesson_css() { $single_lesson_static_css = ' .single-lesson.ast-separate-container .llms-lesson-preview .llms-lesson-link { background: #fff; } .single-lesson.ast-separate-container .llms-lesson-preview .llms-lesson-link:hover { background: #fafafa; } .single-lesson .ast-article-single .llms-lesson-button-wrapper { font-weight: 600; } .single-lesson .ast-article-single .llms-lesson-button-wrapper .llms-complete-lesson-form .llms-field-button:before { content: "\2714"; margin-right: .5em; } .single-lesson .llms-course-navigation { padding: 2em 0 0; border-top: 1px solid #eeeeee; } .single-lesson .llms-course-navigation .llms-lesson-preview { vertical-align: top; margin-top: 0; } .single-lesson .llms-course-navigation .llms-lesson-preview .llms-lesson-link { padding-left: 20px; padding-right: 20px; } .single-lesson .llms-course-navigation .llms-prev-lesson h6.llms-pre-text:before { content: "\2190"; margin-right: .5em; } .single-lesson .llms-course-navigation .llms-back-to-course:first-child h6.llms-pre-text:before { content: "\2190"; margin-right: .5em; } .single-lesson .llms-course-navigation .llms-prev-lesson ~ .llms-back-to-course h6.llms-pre-text:after, .single-lesson .llms-course-navigation .llms-next-lesson h6.llms-pre-text:after { content: "\2192"; margin-left: 5px; } .single-lesson .llms-course-navigation .llms-prev-lesson ~ .llms-back-to-course .llms-lesson-title, .single-lesson .llms-course-navigation .llms-prev-lesson ~ .llms-back-to-course .llms-lesson-excerpt, .single-lesson .llms-course-navigation .llms-prev-lesson ~ .llms-back-to-course h6.llms-pre-text, .single-lesson .llms-course-navigation .llms-next-lesson .llms-lesson-title, .single-lesson .llms-course-navigation .llms-next-lesson .llms-lesson-excerpt, .single-lesson .llms-course-navigation .llms-next-lesson h6.llms-pre-text { text-align: right; } @media (max-width: 544px) { .single-lesson .llms-course-navigation { padding-top: 1.5em; } .single-lesson .llms-course-navigation .llms-course-nav { width: 100%; margin: 0; } .single-lesson .llms-course-navigation .llms-course-nav:first-child { margin-bottom: 1.5em; } }'; return Astra_Enqueue_Scripts::trim_css( $single_lesson_static_css ); } } endif; /** * Kicking this off by calling 'get_instance()' method */ if ( apply_filters( 'astra_enable_lifterlms_integration', true ) ) { Astra_LifterLMS::get_instance(); } lifterlms/customizer/sections/layout/class-astra-lifter-general-configs.php 0000644 00000007426 15006151013 0023370 0 ustar 00 <?php /** * LifterLMS General Options for our theme. * * @package Astra * @link https://www.brainstormforce.com * @since 1.4.3 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Lifter_General_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Lifter_General_Configs extends Astra_Customizer_Config_Base { /** * Register Astra-LifterLMS General Customizer Configurations. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.4.3 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { if ( defined( 'ASTRA_EXT_VER' ) && Astra_Ext_Extension::is_active( 'lifterlms' ) ) { $divider_array = array( 'ast_class' => 'ast-bottom-divider' ); $section = 'section-lifterlms-general'; } else { $divider_array = array(); $section = 'section-lifterlms'; } $_configs = array( /** * Option: Divider */ array( 'name' => ASTRA_THEME_SETTINGS . '[llms-course-grid-divider]', 'section' => $section, 'title' => __( 'Columns', 'astra' ), 'type' => 'control', 'control' => 'ast-heading', 'priority' => 1, 'settings' => array(), 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: Course Columns */ array( 'name' => ASTRA_THEME_SETTINGS . '[llms-course-grid]', 'type' => 'control', 'control' => 'ast-responsive-slider', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_slider' ), 'section' => $section, 'default' => astra_get_option( 'llms-course-grid', array( 'desktop' => 3, 'tablet' => 2, 'mobile' => 1, ) ), 'title' => __( 'Course Columns', 'astra' ), 'priority' => 1, 'input_attrs' => array( 'step' => 1, 'min' => 1, 'max' => 6, ), 'divider' => array( 'ast_class' => 'ast-section-spacing ast-bottom-section-divider' ), ), /** * Option: Membership Columns */ array( 'name' => ASTRA_THEME_SETTINGS . '[llms-membership-grid]', 'type' => 'control', 'control' => 'ast-responsive-slider', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_slider' ), 'section' => $section, 'default' => astra_get_option( 'llms-membership-grid', array( 'desktop' => 3, 'tablet' => 2, 'mobile' => 1, ) ), 'title' => __( 'Membership Columns', 'astra' ), 'priority' => 1, 'input_attrs' => array( 'step' => 1, 'min' => 1, 'max' => 6, ), ), ); // Learn More link if Astra Pro is not activated. if ( astra_showcase_upgrade_notices() ) { $_configs[] = /** * Option: Learn More about Contant Typography */ array( 'name' => ASTRA_THEME_SETTINGS . '[llms-button-link]', 'type' => 'control', 'control' => 'ast-button-link', 'section' => $section, 'priority' => 999, 'title' => __( 'View Astra Pro Features', 'astra' ), 'url' => astra_get_pro_url( 'https://wpastra.com/pricing/', 'customizer', 'free-theme', 'lifterlms' ), 'settings' => array(), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ); } return array_merge( $configurations, $_configs ); } } } new Astra_Lifter_General_Configs(); lifterlms/customizer/sections/class-astra-lifter-sidebar-configs.php 0000644 00000016305 15006151013 0022043 0 ustar 00 <?php /** * Content Spacing Options for our theme. * * @package Astra * @link https://www.brainstormforce.com * @since Astra 1.2.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Lifter_Sidebar_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Lifter_Sidebar_Configs extends Astra_Customizer_Config_Base { /** * Register Astra-LifterLMS Sidebar Customizer Configurations. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.4.3 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $common_title = __( 'Sidebar Layout', 'astra' ); $common_section = 'section-lifterlms'; $common_lifter_lms_sidebar_style = __( 'Sidebar Style', 'astra' ); $lifter_lms_section_divider = true; /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( defined( 'ASTRA_EXT_VER' ) && Astra_Ext_Extension::is_active( 'lifterlms' ) ) { $section_general = 'section-lifterlms-general'; $section_courses = 'section-lifterlms-course-lesson'; $title_lifter_lms = $common_title; $title_lifter_lms_courses = $common_title; $title_lifter_lms_sidebar_style = $common_lifter_lms_sidebar_style; $title_lifter_lms_courses_sidebar_style = $common_lifter_lms_sidebar_style; $lifter_lms_section_divider = false; } else { $section_general = $common_section; $section_courses = $common_section; $title_lifter_lms = __( 'Global Sidebar Layout', 'astra' ); $title_lifter_lms_courses = __( 'Course/Lesson Sidebar Layout', 'astra' ); $title_lifter_lms_sidebar_style = __( 'Global Sidebar Style', 'astra' ); $title_lifter_lms_courses_sidebar_style = __( 'Course/Lesson Sidebar Style', 'astra' ); } $_configs = array( /** * Option: Global Sidebar Layout. */ array( 'name' => ASTRA_THEME_SETTINGS . '[lifterlms-sidebar-layout]', 'type' => 'control', 'control' => 'ast-radio-image', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_choices' ), 'section' => $section_general, 'default' => astra_get_option( 'lifterlms-sidebar-layout' ), 'priority' => 1, 'title' => $title_lifter_lms, 'choices' => array( 'default' => array( 'label' => __( 'Default', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'layout-default', false ) : '', ), 'no-sidebar' => array( 'label' => __( 'No Sidebar', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'no-sidebar', false ) : '', ), 'left-sidebar' => array( 'label' => __( 'Left Sidebar', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'left-sidebar', false ) : '', ), 'right-sidebar' => array( 'label' => __( 'Right Sidebar', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'right-sidebar', false ) : '', ), ), 'description' => __( 'Sidebar will only apply when container layout is set to normal.', 'astra' ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ), /** * Option: LifterLMS Sidebar Style. */ array( 'name' => ASTRA_THEME_SETTINGS . '[lifterlms-sidebar-style]', 'type' => 'control', 'control' => 'ast-selector', 'section' => $section_general, 'default' => astra_get_option( 'lifterlms-sidebar-style', 'default' ), 'priority' => 1, 'title' => $title_lifter_lms_sidebar_style, 'choices' => array( 'default' => __( 'Default', 'astra' ), 'unboxed' => __( 'Unboxed', 'astra' ), 'boxed' => __( 'Boxed', 'astra' ), ), 'responsive' => false, 'renderAs' => 'text', 'divider' => array( 'ast_class' => 'ast-top-divider ast-top-spacing' ), ), /** * Option: Course/Lesson Sidebar Layout. */ array( 'name' => ASTRA_THEME_SETTINGS . '[lifterlms-course-lesson-sidebar-layout]', 'type' => 'control', 'control' => 'ast-radio-image', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_choices' ), 'section' => $section_courses, 'default' => astra_get_option( 'lifterlms-course-lesson-sidebar-layout' ), 'priority' => 1, 'title' => $title_lifter_lms_courses, 'choices' => array( 'default' => array( 'label' => __( 'Default', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'layout-default', false ) : '', ), 'no-sidebar' => array( 'label' => __( 'No Sidebar', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'no-sidebar', false ) : '', ), 'left-sidebar' => array( 'label' => __( 'Left Sidebar', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'left-sidebar', false ) : '', ), 'right-sidebar' => array( 'label' => __( 'Right Sidebar', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'right-sidebar', false ) : '', ), ), 'description' => __( 'Sidebar will only apply when container layout is set to normal.', 'astra' ), 'divider' => $lifter_lms_section_divider ? array( 'ast_class' => 'ast-section-spacing ast-top-section-divider' ) : array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: Course/Lesson Sidebar Style. */ array( 'name' => ASTRA_THEME_SETTINGS . '[lifterlms-course-lesson-sidebar-style]', 'type' => 'control', 'control' => 'ast-selector', 'section' => $section_courses, 'default' => astra_get_option( 'lifterlms-course-lesson-sidebar-style', 'default' ), 'priority' => 1, 'title' => $title_lifter_lms_courses_sidebar_style, 'choices' => array( 'default' => __( 'Default', 'astra' ), 'unboxed' => __( 'Unboxed', 'astra' ), 'boxed' => __( 'Boxed', 'astra' ), ), 'responsive' => false, 'renderAs' => 'text', 'divider' => array( 'ast_class' => 'ast-top-divider ast-top-spacing' ), ), ); return array_merge( $configurations, $_configs ); } } } new Astra_Lifter_Sidebar_Configs(); lifterlms/customizer/sections/class-astra-lifter-container-configs.php 0000644 00000006504 15006151013 0022414 0 ustar 00 <?php /** * Container Options for Astra theme. * * @package Astra * @link https://www.brainstormforce.com * @since 1.4.3 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Lifter_Container_Configs' ) ) { /** * Customizer Sanitizes Initial setup * * @since 1.4.3 */ class Astra_Lifter_Container_Configs extends Astra_Customizer_Config_Base { /** * Register LifterLMS Container Settings. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.4.3 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( defined( 'ASTRA_EXT_VER' ) && Astra_Ext_Extension::is_active( 'lifterlms' ) ) { $section = 'section-lifterlms-general'; } else { $section = 'section-lifterlms'; } $_configs = array( /** * Option: Revamped Container Layout. */ array( 'name' => ASTRA_THEME_SETTINGS . '[lifterlms-ast-content-layout]', 'type' => 'control', 'control' => 'ast-radio-image', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_choices' ), 'section' => $section, 'default' => astra_get_option( 'lifterlms-ast-content-layout' ), 'priority' => 1, 'title' => __( 'Container Layout', 'astra' ), 'choices' => array( 'default' => array( 'label' => __( 'Default', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'layout-default', false ) : '', ), 'normal-width-container' => array( 'label' => __( 'Normal', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'normal-width-container', false ) : '', ), 'full-width-container' => array( 'label' => __( 'Full Width', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'full-width-container', false ) : '', ), ), 'divider' => array( 'ast_class' => 'ast-section-spacing ast-bottom-divider' ), ), /** * Option: Content Style Option. */ array( 'name' => ASTRA_THEME_SETTINGS . '[lifterlms-content-style]', 'type' => 'control', 'control' => 'ast-selector', 'section' => $section, 'default' => astra_get_option( 'lifterlms-content-style', 'default' ), 'priority' => 1, 'title' => __( 'Container Style', 'astra' ), 'description' => __( 'Container style will apply only when layout is set to either normal or narrow.', 'astra' ), 'choices' => array( 'default' => __( 'Default', 'astra' ), 'unboxed' => __( 'Unboxed', 'astra' ), 'boxed' => __( 'Boxed', 'astra' ), ), 'renderAs' => 'text', 'responsive' => false, ), ); return array_merge( $configurations, $_configs ); } } } new Astra_Lifter_Container_Configs(); lifterlms/customizer/class-astra-liferlms-section-configs.php 0000644 00000002510 15006151013 0020570 0 ustar 00 <?php /** * Register customizer panels & sections. * * @package Astra\ * @link https://www.brainstormforce.com * @since Astra 1.2.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } if ( ! class_exists( 'Astra_Liferlms_Section_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Liferlms_Section_Configs extends Astra_Customizer_Config_Base { /** * Register LearnDash Container settings. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.4.3 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $_configs = array( array( 'name' => 'section-lifterlms', 'type' => 'section', 'priority' => 65, 'title' => __( 'LifterLMS', 'astra' ), ), /** * General Section */ array( 'name' => 'section-lifterlms-general', 'type' => 'section', 'title' => __( 'General', 'astra' ), 'section' => 'section-lifterlms', 'priority' => 0, ), ); return array_merge( $configurations, $_configs ); } } } new Astra_Liferlms_Section_Configs(); class-astra-elementor.php 0000644 00000042502 15006151013 0011455 0 ustar 00 <?php /** * Elementor Compatibility File. * * @package Astra */ namespace Elementor;// phpcs:ignore PHPCompatibility.Keywords.NewKeywords.t_namespaceFound, WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedNamespaceFound // @codingStandardsIgnoreStart PHPCompatibility.Keywords.NewKeywords.t_useFound use Astra_Global_Palette; use Astra_Dynamic_CSS; use Elementor\Core\Settings\Manager as SettingsManager; // @codingStandardsIgnoreEnd PHPCompatibility.Keywords.NewKeywords.t_useFound // If plugin - 'Elementor' not exist then return. if ( ! class_exists( '\Elementor\Plugin' ) ) { return; } /** * Astra Elementor Compatibility */ if ( ! class_exists( 'Astra_Elementor' ) ) : /** * Astra Elementor Compatibility * * @since 1.0.0 */ class Astra_Elementor { /** * 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_action( 'wp', array( $this, 'elementor_default_setting' ), 20 ); add_action( 'elementor/preview/init', array( $this, 'elementor_default_setting' ) ); add_action( 'elementor/preview/enqueue_styles', array( $this, 'elementor_overlay_zindex' ) ); add_action( 'elementor/editor/before_enqueue_scripts', array( $this, 'elementor_add_scripts' ) ); /** * Compatibility for Elementor Headings after Elementor-v2.9.9. * * @since 2.4.5 */ add_filter( 'astra_dynamic_theme_css', array( $this, 'enqueue_elementor_compatibility_styles' ) ); add_action( 'rest_request_after_callbacks', array( $this, 'elementor_add_theme_colors' ), 999, 3 ); add_filter( 'rest_request_after_callbacks', array( $this, 'display_global_colors_front_end' ), 999, 3 ); add_filter( 'astra_dynamic_theme_css', array( $this, 'generate_global_elementor_style' ), 11 ); /** * Compatibility for Elementor title disable from editor and elementor builder. * * @since 4.1.0 */ add_filter( 'astra_entry_header_class', array( $this, 'astra_entry_header_class_custom' ), 1, 99 ); } /** * Astra post layout 2 disable compatibility. * * @param array $classes Array of elementor edit mode check. * * @since 4.1.0 */ function astra_entry_header_class_custom( $classes ) { $edit_mode = get_post_meta( astra_get_post_id(), '_elementor_edit_mode', true ); $astra_layout_type = astra_get_option( 'ast-dynamic-single-' . get_post_type() . '-layout', 'layout-1' ); if ( ( $edit_mode && $edit_mode === 'builder' ) || ( $edit_mode === 'builder' && $astra_layout_type === 'layout-2' ) ) { $classes[] = 'ast-header-without-markup'; /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( $astra_layout_type === 'layout-2' && in_array( 'ast-header-without-markup', $classes ) ) { unset( $classes[ array_search( 'ast-header-without-markup', $classes ) ] ); } } return $classes; } /** * Compatibility CSS for Elementor Headings after Elementor-v2.9.9 * * In v2.9.9 Elementor has removed [ .elementor-widget-heading .elementor-heading-title { margin: 0 } ] this CSS. * Again in v2.9.10 Elementor added this as .elementor-heading-title { margin: 0 } but still our [ .entry-content heading { margin-bottom: 20px } ] CSS overrding their fix. * * That's why adding this CSS fix to headings by setting bottom-margin to 0. * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return string $dynamic_css Generated CSS. * * @since 2.4.5 */ public function enqueue_elementor_compatibility_styles( $dynamic_css, $dynamic_css_filtered = '' ) { global $post; $id = astra_get_post_id(); if ( $this->is_elementor_activated( $id ) ) { $elementor_heading_margin_comp = array( '.elementor-widget-heading .elementor-heading-title' => array( 'margin' => '0', ), '.elementor-page .ast-menu-toggle' => array( 'color' => 'unset !important', 'background' => 'unset !important', ), ); /* Parse CSS from array() */ $parse_css = astra_parse_css( $elementor_heading_margin_comp ); $elementor_base_css = array( '.elementor-post.elementor-grid-item.hentry' => array( 'margin-bottom' => '0', ), '.woocommerce div.product .elementor-element.elementor-products-grid .related.products ul.products li.product, .elementor-element .elementor-wc-products .woocommerce[class*=\'columns-\'] ul.products li.product' => array( 'width' => 'auto', 'margin' => '0', 'float' => 'none', ), ); if ( astra_can_remove_elementor_toc_margin_space() ) { $elementor_base_css['.elementor-toc__list-wrapper'] = array( 'margin' => 0, ); } if ( astra_can_add_styling_for_hr() ) { $elementor_base_css['body .elementor hr'] = array( 'background-color' => '#ccc', 'margin' => '0', ); } // Load base static CSS when Elmentor is activated. $parse_css .= astra_parse_css( $elementor_base_css ); if ( is_rtl() ) { $elementor_rtl_support_css = array( '.ast-left-sidebar .elementor-section.elementor-section-stretched,.ast-right-sidebar .elementor-section.elementor-section-stretched' => array( 'max-width' => '100%', 'right' => '0 !important', ), ); } else { $elementor_rtl_support_css = array( '.ast-left-sidebar .elementor-section.elementor-section-stretched,.ast-right-sidebar .elementor-section.elementor-section-stretched' => array( 'max-width' => '100%', 'left' => '0 !important', ), ); } $parse_css .= astra_parse_css( $elementor_rtl_support_css ); $dynamic_css .= $parse_css; } // To visible proper column structure with elementor flexbox model. $elementor_posts_container_css = array( '.elementor-posts-container [CLASS*="ast-width-"]' => array( 'width' => '100%', ), ); $dynamic_css .= astra_parse_css( $elementor_posts_container_css ); $elementor_archive_page_css = array( '.elementor-template-full-width .ast-container' => array( 'display' => 'block', ), '.elementor-screen-only, .screen-reader-text, .screen-reader-text span, .ui-helper-hidden-accessible' => array( 'top' => '0 !important', ), ); $dynamic_css .= astra_parse_css( $elementor_archive_page_css ); $dynamic_css .= astra_parse_css( array( '.elementor-element .elementor-wc-products .woocommerce[class*="columns-"] ul.products li.product' => array( 'width' => 'auto', 'margin' => '0', ), '.elementor-element .woocommerce .woocommerce-result-count' => array( 'float' => 'none', ), ), '', astra_get_mobile_breakpoint() ); return $dynamic_css; } /** * Elementor Content layout set as Page Builder * * @return void * @since 1.0.2 */ public function elementor_default_setting() { if ( false === astra_enable_page_builder_compatibility() || 'post' == get_post_type() ) { return; } // don't modify post meta settings if we are not on Elementor's edit page. if ( ! $this->is_elementor_editor() ) { return; } global $post; $id = astra_get_post_id(); $page_builder_flag = get_post_meta( $id, '_astra_content_layout_flag', true ); if ( isset( $post ) && empty( $page_builder_flag ) && ( is_admin() || is_singular() ) ) { if ( empty( $post->post_content ) && $this->is_elementor_activated( $id ) ) { update_post_meta( $id, '_astra_content_layout_flag', 'disabled' ); update_post_meta( $id, 'site-post-title', 'disabled' ); update_post_meta( $id, 'ast-title-bar-display', 'disabled' ); update_post_meta( $id, 'ast-featured-img', 'disabled' ); // Compatibility with revamped layouts to update default layout to page builder. $migrated_user = ( ! Astra_Dynamic_CSS::astra_fullwidth_sidebar_support() ); if ( $migrated_user ) { $content_layout = get_post_meta( $id, 'site-content-layout', true ); } else { $content_layout = get_post_meta( $id, 'ast-site-content-layout', true ); } if ( empty( $content_layout ) || 'default' == $content_layout ) { if ( $migrated_user ) { update_post_meta( $id, 'site-content-layout', 'page-builder' ); } update_post_meta( $id, 'ast-site-content-layout', 'full-width-container' ); } $sidebar_layout = get_post_meta( $id, 'site-sidebar-layout', true ); if ( empty( $sidebar_layout ) || 'default' == $sidebar_layout ) { update_post_meta( $id, 'site-sidebar-layout', 'no-sidebar' ); } // In the preview mode, Apply the layouts using filters for Elementor Template Library. add_filter( 'astra_page_layout', function() { // phpcs:ignore PHPCompatibility.FunctionDeclarations.NewClosure.Found return 'no-sidebar'; } ); add_filter( 'astra_get_content_layout', function () { // phpcs:ignore PHPCompatibility.FunctionDeclarations.NewClosure.Found return 'page-builder'; } ); add_filter( 'astra_the_post_title_enabled', '__return_false' ); add_filter( 'astra_featured_image_enabled', '__return_false' ); } } } /** * Add z-index CSS for elementor's drag drop * * @return void * @since 1.4.0 */ public function elementor_overlay_zindex() { // return if we are not on Elementor's edit page. if ( ! $this->is_elementor_editor() ) { return; } ?> <style type="text/css" id="ast-elementor-overlay-css"> .elementor-editor-active .elementor-element > .elementor-element-overlay { z-index: 9999; } .elementor-element .elementor-widget-woocommerce-checkout-page #customer_details { background: var(--checkout-sections-background-color, #ffffff); } </style> <?php } /** * Check is elementor activated. * * @param int $id Post/Page Id. * @return boolean */ public function is_elementor_activated( $id ) { if ( version_compare( ELEMENTOR_VERSION, '1.5.0', '<' ) ) { return ( 'builder' === Plugin::$instance->db->get_edit_mode( $id ) ); } else { $document = Plugin::$instance->documents->get( $id ); if ( $document ) { return $document->is_built_with_elementor(); } else { return false; } } } /** * Check if Elementor Editor is open. * * @since 1.2.7 * * @return boolean True IF Elementor Editor is loaded, False If Elementor Editor is not loaded. */ private function is_elementor_editor() { if ( ( isset( $_REQUEST['action'] ) && 'elementor' == $_REQUEST['action'] ) || isset( $_REQUEST['elementor-preview'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended return true; } return false; } /** * Display theme global colors to Elementor Global colors * * @since 3.7.0 * @param object $response rest request response. * @param array $handler Route handler used for the request. * @param WP_REST_Request $request Request used to generate the response. * @return object */ public function elementor_add_theme_colors( $response, $handler, $request ) { $route = $request->get_route(); if ( astra_maybe_disable_global_color_in_elementor() ) { return $response; } if ( '/elementor/v1/globals' != $route ) { return $response; } $global_palette = astra_get_option( 'global-color-palette' ); $data = $response->get_data(); $slugs = Astra_Global_Palette::get_palette_slugs(); $labels = Astra_Global_Palette::get_palette_labels(); foreach ( $global_palette['palette'] as $key => $color ) { $slug = $slugs[ $key ]; // Remove hyphens from slug. $no_hyphens = str_replace( '-', '', $slug ); $data['colors'][ $no_hyphens ] = array( 'id' => esc_attr( $no_hyphens ), 'title' => 'Theme ' . $labels[ $key ], 'value' => $color, ); } $response->set_data( $data ); return $response; } /** * Display global paltte colors on Elementor front end Page. * * @since 3.7.0 * @param object $response rest request response. * @param array $handler Route handler used for the request. * @param WP_REST_Request $request Request used to generate the response. * @return object */ public function display_global_colors_front_end( $response, $handler, $request ) { if ( astra_maybe_disable_global_color_in_elementor() ) { return $response; } $route = $request->get_route(); if ( 0 !== strpos( $route, '/elementor/v1/globals' ) ) { return $response; } $slug_map = array(); $palette_slugs = Astra_Global_Palette::get_palette_slugs(); foreach ( $palette_slugs as $key => $slug ) { // Remove hyphens as hyphens do not work with Elementor global styles. $no_hyphens = str_replace( '-', '', $slug ); $slug_map[ $no_hyphens ] = $key; } $rest_id = substr( $route, strrpos( $route, '/' ) + 1 ); if ( ! in_array( $rest_id, array_keys( $slug_map ), true ) ) { return $response; } $colors = astra_get_option( 'global-color-palette' ); $response = rest_ensure_response( array( 'id' => esc_attr( $rest_id ), 'title' => Astra_Global_Palette::get_css_variable_prefix() . esc_html( $slug_map[ $rest_id ] ), 'value' => $colors['palette'][ $slug_map[ $rest_id ] ], ) ); return $response; } /** * Generate CSS variable style for Elementor. * * @since 3.7.0 * @param string $dynamic_css Dynamic CSS. * @return object */ public function generate_global_elementor_style( $dynamic_css ) { if ( astra_maybe_disable_global_color_in_elementor() ) { return $dynamic_css; } $global_palette = astra_get_option( 'global-color-palette' ); $palette_style = array(); $slugs = Astra_Global_Palette::get_palette_slugs(); $style = array(); if ( isset( $global_palette['palette'] ) ) { foreach ( $global_palette['palette'] as $color_index => $color ) { $variable_key = '--e-global-color-' . str_replace( '-', '', $slugs[ $color_index ] ); $style[ $variable_key ] = $color; } $palette_style[':root'] = $style; $dynamic_css .= astra_parse_css( $palette_style ); } // Apply Astra Mini Cart CSS if Elementor Mini Cart Template is disabled. $is_site_rtl = is_rtl(); $ltr_left = $is_site_rtl ? 'right' : 'left'; $ltr_right = $is_site_rtl ? 'left' : 'right'; if ( defined( 'ELEMENTOR_PRO_VERSION' ) && 'no' === get_option( 'elementor_' . 'use_mini_cart_template' ) ) { $mini_cart_template_css = array( '.woocommerce-js .woocommerce-mini-cart' => array( 'margin-inline-start' => '0', 'list-style' => 'none', 'padding' => '1.3em', 'flex' => '1', 'overflow' => 'auto', 'position' => 'relative', ), '.woocommerce-js .widget_shopping_cart_content ul li.mini_cart_item' => array( 'min-height' => '60px', 'padding-top' => '1.2em', 'padding-bottom' => '1.2em', 'padding-' . $ltr_left => '5em', 'padding-' . $ltr_right => '0', ), '.woocommerce-js .woocommerce-mini-cart-item .ast-mini-cart-price-wrap' => array( 'float' => 'right', 'margin-top' => '0.5em', 'position' => 'absolute', $ltr_left => 'auto', $ltr_right => '0', 'top' => '3.5em', ), '.woocommerce-js .widget_shopping_cart_content a.remove' => array( 'position' => 'absolute', $ltr_left => 'auto', $ltr_right => '0', ), '.woocommerce-js .woocommerce-mini-cart__total' => array( 'display' => 'flex', 'justify-content' => 'space-between', 'padding' => '0.7em 0', 'margin-bottom' => '0', 'font-size' => '16px', 'border-top' => '1px solid var(--ast-border-color)', 'border-bottom' => '1px solid var(--ast-border-color)', ), '.woocommerce-mini-cart__buttons' => array( 'display' => 'flex', 'flex-direction' => 'column', 'gap' => '20px', 'padding-top' => '1.34em', ), '.woocommerce-mini-cart__buttons .button' => array( 'text-align' => 'center', 'font-weight' => '500', 'font-size' => '16px', ), '.woocommerce-js ul.product_list_widget li a img' => array( 'top' => '52%', ), '.ast-mini-cart-empty .ast-mini-cart-message' => array( 'display' => 'none', ), ); $dynamic_css .= astra_parse_css( $mini_cart_template_css ); } return $dynamic_css; } /** * Load style inside Elementor editor. * * @since 3.7.0 * @return void */ public function elementor_add_scripts() { $editor_preferences = SettingsManager::get_settings_managers( 'editorPreferences' ); $theme = $editor_preferences->get_model()->get_settings( 'ui_theme' ); $style = 'dark' == $theme ? '-dark' : ''; wp_enqueue_style( 'astra-elementor-editor-style', ASTRA_THEME_URI . 'inc/assets/css/ast-elementor-editor' . $style . '.css', array(), ASTRA_THEME_VERSION ); } } endif; /** * Kicking this off by calling 'get_instance()' method */ Astra_Elementor::get_instance(); class-astra-amp.php 0000644 00000136216 15006151013 0010246 0 ustar 00 <?php /** * AMP Compatibility. * * @package Astra * @link https://wpastra.com/ * @since Astra 1.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Astra BB Ultimate Addon Compatibility */ if ( ! class_exists( 'Astra_AMP' ) ) : /** * Class Astra_AMP */ class Astra_AMP { /** * 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_action( 'wp', array( $this, 'astra_amp_init' ) ); } /** * Init Astra Amp Compatibility. * This adds required actions and filters only if AMP endpoinnt is detected. * * @since 1.7.0 * @return void */ public function astra_amp_init() { // bail if AMP endpoint is not detected. if ( ! astra_is_amp_endpoint() ) { return; } add_filter( 'astra_nav_toggle_data_attrs', array( $this, 'add_nav_toggle_attrs' ) ); add_filter( 'astra_search_slide_toggle_data_attrs', array( $this, 'add_search_slide_toggle_attrs' ) ); add_filter( 'astra_search_field_toggle_data_attrs', array( $this, 'add_search_field_toggle_attrs' ) ); add_action( 'wp_footer', array( $this, 'render_amp_states' ) ); add_filter( 'astra_attr_ast-main-header-bar-alignment', array( $this, 'nav_menu_wrapper' ) ); add_filter( 'astra_attr_ast-menu-toggle', array( $this, 'menu_toggle_button' ), 20, 3 ); add_filter( 'astra_theme_dynamic_css', array( $this, 'dynamic_css' ) ); add_filter( 'astra_toggle_button_markup', array( $this, 'toggle_button_markup' ), 20, 2 ); add_filter( 'astra_schema_body', array( $this, 'body_id' ) ); /** * Scroll to top Addon. * * @since 4.0.0 */ if ( true === astra_get_option( 'scroll-to-top-enable' ) ) { remove_action( 'wp_footer', array( Astra_Scroll_To_Top_Loader::get_instance(), 'html_markup_loader' ) ); remove_filter( 'astra_dynamic_theme_css', 'astra_scroll_to_top_dynamic_css' ); } } /** * Add ID to body to toggleClasses on AMP actions. * * @since 1.7.0 * @param String $schema markup returned from theme. * @return String */ public function body_id( $schema ) { return $schema . 'id="astra-body"'; } /** * Dynamic CSS used for AMP pages. * This should be changed to main CSS in next versions, replacing JavaScript based interactions with pure CSS alternatives. * * @since 1.7.0 * @param String $compiled_css Dynamic CSS received to be enqueued on page. * * @return String Updated dynamic CSS with AMP specific changes. */ public function dynamic_css( $compiled_css ) { if ( true === Astra_Builder_Helper::$is_header_footer_builder_active ) { $css = array( '#ast-desktop-header' => array( 'display' => 'none', ), '#ast-mobile-header' => array( 'display' => 'block', ), '.ast-amp.ast-main-header-nav-open .ast-mobile-header-content' => array( 'display' => 'block', ), '.ast-mobile-header-content .ast-main-header-bar-alignment.toggle-on .main-header-bar-navigation' => array( 'display' => 'block', ), '.ast-amp .ast-mobile-header-content .main-navigation ul .menu-item .menu-link' => array( 'padding' => '0 20px', 'display' => 'inline-block', 'width' => '100%', 'border' => '0', 'border-bottom-width' => '1px', 'border-style' => 'solid', 'border-color' => '#eaeaea', ), '.ast-amp .ast-mobile-header-content .toggled-on .main-header-bar-navigation' => array( 'line-height' => '3', 'display' => 'none', ), '.ast-amp .ast-mobile-header-content .main-header-bar-navigation .sub-menu' => array( 'line-height' => '3', ), '.ast-amp .ast-mobile-header-content .main-header-bar-navigation .menu-item-has-children .sub-menu' => array( 'display' => 'none', ), '.ast-amp .ast-mobile-header-content .main-header-bar-navigation .menu-item-has-children .dropdown-open+ul.sub-menu' => array( 'display' => 'block', ), '.ast-amp .ast-mobile-header-content .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle' => array( 'display' => 'inline-block', 'position' => 'absolute', 'font-size' => 'inherit', 'top' => '-1px', 'right' => '20px', 'cursor' => 'pointer', 'webkit-font-smoothing' => 'antialiased', 'moz-osx-font-smoothing' => 'grayscale', 'padding' => '0 0.907em', 'font-weight' => 'normal', 'line-height' => 'inherit', 'transition' => 'all 0.2s', ), '.ast-amp .ast-mobile-header-content .main-header-bar-navigation .ast-submenu-expanded > .ast-menu-toggle::before' => array( '-webkit-transform' => 'rotateX(180deg)', 'transform' => 'rotateX(180deg)', ), '.ast-amp .ast-mobile-header-content .main-header-bar-navigation .main-header-menu' => array( 'border-top-width' => '1px', 'border-style' => 'solid', 'border-color' => '#eaeaea', ), '.ast-amp .ast-below-header-bar, .ast-amp .main-header-bar, .ast-amp .ast-above-header-bar' => array( 'display' => 'grid', ), ); if ( false === Astra_Icons::is_svg_icons() ) { $css['.ast-amp .ast-mobile-header-content .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle::before'] = array( 'font-weight' => 'bold', 'content' => '"\e900"', 'font-family' => '"Astra"', 'text-decoration' => 'inherit', 'display' => 'inline-block', ); } } else { $css = array( '.ast-mobile-menu-buttons' => array( 'text-align' => 'right', '-js-display' => 'flex', 'display' => '-webkit-box', 'display' => '-webkit-flex', 'display' => '-moz-box', 'display' => '-ms-flexbox', 'display' => 'flex', '-webkit-box-pack' => 'end', '-webkit-justify-content' => 'flex-end', '-moz-box-pack' => 'end', '-ms-flex-pack' => 'end', 'justify-content' => 'flex-end', '-webkit-align-self' => 'center', '-ms-flex-item-align' => 'center', 'align-self' => 'center', ), '.header-main-layout-1 .main-navigation' => array( 'padding' => '0', ), ); } $parse_css = $compiled_css . astra_parse_css( $css, '', astra_header_break_point() ); $css = array( '.site-header .main-header-bar-wrap .site-branding' => array( 'display' => '-webkit-box', 'display' => '-webkit-flex', 'display' => '-moz-box', 'display' => '-ms-flexbox', 'display' => 'flex', '-webkit-box-flex' => '1', '-webkit-flex' => '1', '-moz-box-flex' => '1', '-ms-flex' => '1', 'flex' => '1', '-webkit-align-self' => 'center', '-ms-flex-item-align' => 'center', 'align-self' => 'center', ), '.ast-main-header-bar-alignment.toggle-on .main-header-bar-navigation' => array( 'display' => 'block', ), '.main-navigation' => array( 'display' => 'block', 'width' => '100%', ), '.main-header-menu > .menu-item > .menu-link' => array( 'padding' => '0 20px', 'display' => 'inline-block', 'width' => '100%', 'border-bottom-width' => '1px', 'border-style' => 'solid', 'border-color' => '#eaeaea', ), '.ast-main-header-bar-alignment.toggle-on' => array( 'display' => 'block', 'width' => '100%', '-webkit-box-flex' => '1', '-webkit-flex' => 'auto', '-moz-box-flex' => '1', '-ms-flex' => 'auto', 'flex' => 'auto', '-webkit-box-ordinal-group' => '5', '-webkit-order' => '4', '-moz-box-ordinal-group' => '5', '-ms-flex-order' => '4', 'order' => '4', ), '.main-header-menu .menu-item' => array( 'width' => '100%', 'text-align' => 'left', 'border-top' => '0', ), '.main-header-bar-navigation' => array( 'width' => '-webkit-calc( 100% + 40px)', 'width' => 'calc( 100% + 40px)', 'margin' => '0 -20px', ), '.main-header-bar .main-header-bar-navigation .main-header-menu' => array( 'border-top-width' => '1px', 'border-style' => 'solid', 'border-color' => '#eaeaea', ), '.main-header-bar .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle' => array( 'display' => 'inline-block', 'position' => 'absolute', 'font-size' => 'inherit', 'top' => '-1px', 'right' => '20px', 'cursor' => 'pointer', '-webkit-font-smoothing' => 'antialiased', '-moz-osx-font-smoothing' => 'grayscale', 'padding' => '0 0.907em', 'font-weight' => 'normal', 'line-height' => 'inherit', '-webkit-transition' => 'all .2s', 'transition' => 'all .2s', ), ); if ( false === Astra_Icons::is_svg_icons() ) { $css['.main-header-bar-navigation .menu-item-has-children > .menu-link:after'] = array( 'content' => 'none', ); $css['.ast-button-wrap .menu-toggle.toggled .menu-toggle-icon:before'] = array( 'content' => "\e5cd", ); $css['.main-header-bar .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle::before'] = array( 'font-weight' => 'bold', 'content' => '"\e900"', 'font-family' => 'Astra', 'text-decoration' => 'inherit', 'display' => 'inline-block', ); } $parse_css .= astra_parse_css( $css, '', astra_header_break_point() ); if ( true === Astra_Builder_Helper::$is_header_footer_builder_active ) { $astra_break_point_navigation = array( '.ast-amp .main-header-bar-navigation' => array( 'margin' => '0', ), ); } else { $astra_break_point_navigation = array( '.ast-amp .main-header-bar-navigation' => array( 'margin' => '0 -20px', ), '.ast-amp .ast-mobile-menu-buttons' => array( 'text-align' => 'right', '-js-display' => 'flex', 'display' => '-webkit-box', 'display' => '-webkit-flex', 'display' => '-moz-box', 'display' => '-ms-flexbox', 'display' => 'flex', '-webkit-box-pack' => 'end', '-webkit-justify-content' => 'flex-end', '-moz-box-pack' => 'end', '-ms-flex-pack' => 'end', 'justify-content' => 'flex-end', '-webkit-align-self' => 'center', '-ms-flex-item-align' => 'center', 'align-self' => 'center', ), '.ast-theme.ast-header-custom-item-outside .main-header-bar .ast-search-icon' => array( 'margin-right' => '1em', ), '.ast-theme.ast-header-custom-item-inside .main-header-bar .main-header-bar-navigation .ast-search-icon' => array( 'display' => 'none', ), '.ast-theme.ast-header-custom-item-inside .main-header-bar .ast-search-menu-icon .search-field, .ast-theme.ast-header-custom-item-inside .main-header-bar .ast-search-menu-icon.ast-inline-search .search-field' => array( 'width' => '100%', 'padding-right' => '5.5em', ), '.ast-theme.ast-header-custom-item-inside .main-header-bar .ast-search-menu-icon .search-submit' => array( 'display' => 'block', 'position' => 'absolute', 'height' => '100%', 'top' => '0', 'right' => '0', 'padding' => '0 1em', 'border-radius' => '0', ), '.ast-theme.ast-header-custom-item-inside .main-header-bar .ast-search-menu-icon .search-form' => array( 'padding' => '0', 'display' => 'block', 'overflow' => 'hidden', ), '.ast-amp .ast-header-custom-item' => array( 'background-color' => '#f9f9f9', ), '.ast-amp .ast-mobile-header-stack .site-description' => array( 'text-align' => 'center', ), '.ast-amp .ast-mobile-header-stack.ast-logo-title-inline .site-description' => array( 'text-align' => 'left', ), '.ast-theme.ast-header-custom-item-outside .ast-primary-menu-disabled .ast-mobile-menu-buttons' => array( 'display' => 'none', ), '.ast-amp .ast-hide-custom-menu-mobile .ast-masthead-custom-menu-items' => array( 'display' => 'none', ), '.ast-amp .ast-mobile-header-inline .site-branding' => array( 'text-align' => 'left', 'padding-bottom' => '0', ), '.ast-amp .ast-mobile-header-inline.header-main-layout-3 .site-branding' => array( 'text-align' => 'right', ), '.ast-amp ul li.ast-masthead-custom-menu-items a' => array( 'padding' => '0', 'width' => 'auto', 'display' => 'initial', ), '.ast-amp li.ast-masthead-custom-menu-items' => array( 'padding-left' => '20px', 'padding-right' => '20px', 'margin-bottom' => '1em', 'margin-top' => '1em', ), '.ast-theme.ast-header-custom-item-inside .ast-search-menu-icon' => array( 'position' => 'relative', 'display' => 'block', 'right' => 'auto', 'visibility' => 'visible', 'opacity' => '1', '-webkit-transform' => 'none', '-ms-transform' => 'none', 'transform' => 'none', ), '.ast-theme.ast-header-custom-item-outside .ast-mobile-menu-buttons' => array( '-webkit-box-ordinal-group' => '3', '-webkit-order' => '2', '-moz-box-ordinal-group' => '3', '-ms-flex-order' => '2', 'order' => '2', ), '.ast-theme.ast-header-custom-item-outside .main-header-bar-navigation' => array( '-webkit-box-ordinal-group' => '4', '-webkit-order' => '3', '-moz-box-ordinal-group' => '4', '-ms-flex-order' => '3', 'order' => '3', ), '.ast-theme.ast-header-custom-item-outside .ast-masthead-custom-menu-items' => array( '-webkit-box-ordinal-group' => '2', '-webkit-order' => '1', '-moz-box-ordinal-group' => '2', '-ms-flex-order' => '1', 'order' => '1', ), '.ast-theme.ast-header-custom-item-outside .header-main-layout-2 .ast-masthead-custom-menu-items' => array( 'text-align' => 'center', ), '.ast-theme.ast-header-custom-item-outside .ast-mobile-header-inline .site-branding, .ast-theme.ast-header-custom-item-outside .ast-mobile-header-inline .ast-mobile-menu-buttons' => array( '-js-display' => 'flex', 'display' => '-webkit-box', 'display' => '-webkit-flex', 'display' => '-moz-box', 'display' => '-ms-flexbox', 'display' => 'flex', ), '.ast-theme.ast-header-custom-item-outside.ast-header-custom-item-outside .header-main-layout-2 .ast-mobile-menu-buttons' => array( 'padding-bottom' => '0', ), '.ast-theme.ast-header-custom-item-outside .ast-mobile-header-inline .ast-site-identity' => array( 'width' => '100%', ), '.ast-theme.ast-header-custom-item-outside .ast-mobile-header-inline.header-main-layout-3 .ast-site-identity' => array( 'width' => 'auto', ), '.ast-theme.ast-header-custom-item-outside .ast-mobile-header-inline.header-main-layout-2 .site-branding' => array( '-webkit-box-flex' => '1', '-webkit-flex' => '1 1 auto', '-moz-box-flex' => '1', '-ms-flex' => '1 1 auto', 'flex' => '1 1 auto', ), '.ast-theme.ast-header-custom-item-outside .ast-mobile-header-inline .site-branding' => array( 'text-align' => 'left', ), '.ast-theme.ast-header-custom-item-outside .ast-mobile-header-inline .site-title' => array( '-webkit-box-pack' => 'left', '-webkit-justify-content' => 'left', '-moz-box-pack' => 'left', '-ms-flex-pack' => 'left', 'justify-content' => 'left', ), '.ast-theme.ast-header-custom-item-outside .header-main-layout-2 .ast-mobile-menu-buttons' => array( 'padding-bottom' => '1em', ), '.ast-amp .ast-mobile-header-stack .main-header-container, .ast-amp .ast-mobile-header-inline .main-header-container' => array( '-js-display' => 'flex', 'display' => '-webkit-box', 'display' => '-webkit-flex', 'display' => '-moz-box', 'display' => '-ms-flexbox', 'display' => 'flex', ), '.ast-amp .header-main-layout-1 .site-branding' => array( 'padding-right' => '1em', ), '.ast-amp .header-main-layout-1 .main-header-bar-navigation' => array( 'text-align' => 'left', ), '.ast-amp .header-main-layout-1 .main-navigation' => array( 'padding-left' => '0', ), '.ast-amp .ast-mobile-header-stack .ast-masthead-custom-menu-items' => array( '-webkit-box-flex' => '1', '-webkit-flex' => '1 1 100%', '-moz-box-flex' => '1', '-ms-flex' => '1 1 100%', 'flex' => '1 1 100%', ), '.ast-amp .ast-mobile-header-stack .site-branding' => array( 'padding-left' => '0', 'padding-right' => '0', 'padding-bottom' => '1em', '-webkit-box-flex' => '1', '-webkit-flex' => '1 1 100%', '-moz-box-flex' => '1', '-ms-flex' => '1 1 100%', 'flex' => '1 1 100%', ), '.ast-amp .ast-mobile-header-stack .ast-masthead-custom-menu-items, .ast-amp .ast-mobile-header-stack .site-branding, .ast-amp .ast-mobile-header-stack .site-title, .ast-amp .ast-mobile-header-stack .ast-site-identity' => array( '-webkit-box-pack' => 'center', '-webkit-justify-content' => 'center', '-moz-box-pack' => 'center', '-ms-flex-pack' => 'center', 'justify-content' => 'center', 'text-align' => 'center', ), '.ast-amp .ast-mobile-header-stack.ast-logo-title-inline .site-title' => array( 'text-align' => 'left', ), '.ast-amp .ast-mobile-header-stack .ast-mobile-menu-buttons' => array( '-webkit-box-flex' => '1', '-webkit-flex' => '1 1 100%', '-moz-box-flex' => '1', '-ms-flex' => '1 1 100%', 'flex' => '1 1 100%', 'text-align' => 'center', '-webkit-box-pack' => 'center', '-webkit-justify-content' => 'center', '-moz-box-pack' => 'center', '-ms-flex-pack' => 'center', 'justify-content' => 'center', ), '.ast-amp .ast-mobile-header-stack.header-main-layout-3 .main-header-container' => array( 'flex-direction' => 'initial', ), '.ast-amp .header-main-layout-2 .ast-mobile-menu-buttons' => array( '-js-display' => 'flex', 'display' => '-webkit-box', 'display' => '-webkit-flex', 'display' => '-moz-box', 'display' => '-ms-flexbox', 'display' => 'flex', '-webkit-box-pack' => 'center', '-webkit-justify-content' => 'center', '-moz-box-pack' => 'center', '-ms-flex-pack' => 'center', 'justify-content' => 'center', ), '.ast-amp .header-main-layout-2 .main-header-bar-navigation, .ast-amp .header-main-layout-2 .widget' => array( 'text-align' => 'left', ), '.ast-theme.ast-header-custom-item-outside .header-main-layout-3 .main-header-bar .ast-search-icon' => array( 'margin-right' => 'auto', 'margin-left' => '1em', ), '.ast-amp .header-main-layout-3 .main-header-bar .ast-search-menu-icon.slide-search .search-form' => array( 'right' => 'auto', 'left' => '0', ), '.ast-amp .header-main-layout-3.ast-mobile-header-inline .ast-mobile-menu-buttons' => array( '-webkit-box-pack' => 'start', '-webkit-justify-content' => 'flex-start', '-moz-box-pack' => 'start', '-ms-flex-pack' => 'start', 'justify-content' => 'flex-start', ), '.ast-amp .header-main-layout-3 li .ast-search-menu-icon' => array( 'left' => '0', ), '.ast-amp .header-main-layout-3 .site-branding' => array( 'padding-left' => '1em', '-webkit-box-pack' => 'end', '-webkit-justify-content' => 'flex-end', '-moz-box-pack' => 'end', '-ms-flex-pack' => 'end', 'justify-content' => 'flex-end', ), '.ast-amp .header-main-layout-3 .main-navigation' => array( 'padding-right' => '0', ), '.ast-amp .header-main-layout-1 .site-branding' => array( 'padding-right' => '1em', ), '.ast-amp .header-main-layout-1 .main-header-bar-navigation' => array( 'text-align' => 'left', ), '.ast-amp .header-main-layout-1 .main-navigation' => array( 'padding-left' => '0', ), '.ast-amp .ast-mobile-header-stack .ast-masthead-custom-menu-items' => array( '-webkit-box-flex' => '1', '-webkit-flex' => '1 1 100%', '-moz-box-flex' => '1', '-ms-flex' => '1 1 100%', 'flex' => '1 1 100%', ), '.ast-amp .ast-mobile-header-stack .site-branding' => array( 'padding-left' => '0', 'padding-right' => '0', 'padding-bottom' => '1em', '-webkit-box-flex' => '1', '-webkit-flex' => '1 1 100%', '-moz-box-flex' => '1', '-ms-flex' => '1 1 100%', 'flex' => '1 1 100%', ), '.ast-amp .ast-mobile-header-stack .ast-masthead-custom-menu-items, .ast-amp .ast-mobile-header-stack .site-branding, .ast-amp .ast-mobile-header-stack .site-title, .ast-amp .ast-mobile-header-stack .ast-site-identity' => array( '-webkit-box-pack' => 'center', '-webkit-justify-content' => 'center', '-moz-box-pack' => 'center', '-ms-flex-pack' => 'center', 'justify-content' => 'center', 'text-align' => 'center', ), '.ast-amp .ast-mobile-header-stack.ast-logo-title-inline .site-title' => array( 'text-align' => 'left', ), '.ast-amp .ast-mobile-header-stack .ast-mobile-menu-buttons' => array( 'flex' => '1 1 100%', 'text-align' => 'center', '-webkit-box-pack' => 'center', '-webkit-justify-content' => 'center', '-moz-box-pack' => 'center', '-ms-flex-pack' => 'center', 'justify-content' => 'center', ), '.ast-amp .ast-mobile-header-stack.header-main-layout-3 .main-header-container' => array( 'flex-direction' => 'initial', ), '.ast-amp .header-main-layout-2 .ast-mobile-menu-buttons' => array( 'display' => '-webkit-box', 'display' => '-webkit-flex', 'display' => '-moz-box', 'display' => '-ms-flexbox', 'display' => 'flex', '-webkit-box-pack' => 'center', '-webkit-justify-content' => 'center', '-moz-box-pack' => 'center', '-ms-flex-pack' => 'center', 'justify-content' => 'center', ), '.ast-amp .header-main-layout-2 .main-header-bar-navigation, .ast-amp .header-main-layout-2 .widget' => array( 'text-align' => 'left', ), '.ast-theme.ast-header-custom-item-outside .header-main-layout-3 .main-header-bar .ast-search-icon' => array( 'margin-right' => 'auto', 'margin-left' => '1em', ), '.ast-amp .header-main-layout-3 .main-header-bar .ast-search-menu-icon.slide-search .search-form' => array( 'right' => 'auto', 'left' => '0', ), '.ast-amp .header-main-layout-3.ast-mobile-header-inline .ast-mobile-menu-buttons' => array( '-webkit-box-pack' => 'start', '-webkit-justify-content' => 'flex-start', '-moz-box-pack' => 'start', '-ms-flex-pack' => 'start', 'justify-content' => 'flex-start', ), '.ast-amp .header-main-layout-3 li .ast-search-menu-icon' => array( 'left' => '0', ), '.ast-amp .header-main-layout-3 .site-branding' => array( 'padding-left' => '1em', '-webkit-box-pack' => 'end', '-webkit-justify-content' => 'flex-end', '-moz-box-pack' => 'end', '-ms-flex-pack' => 'end', 'justify-content' => 'flex-end', ), '.ast-amp .header-main-layout-3 .main-navigation' => array( 'padding-right' => '0', ), '.ast-amp .ast-header-custom-item' => array( 'border-top' => '1px solid #eaeaea', ), '.ast-amp .ast-header-custom-item .ast-masthead-custom-menu-items' => array( 'padding-left' => '20px', 'padding-right' => '20px', 'margin-bottom' => '1em', 'margin-top' => '1em', ), '.ast-amp .ast-header-custom-item .widget:last-child' => array( 'margin-bottom' => '1em', ), '.ast-header-custom-item-inside.ast-amp .button-custom-menu-item .menu-link' => array( 'display' => 'block', ), '.ast-header-custom-item-inside.ast-amp .button-custom-menu-item' => array( 'padding-left' => '0', 'padding-right' => '0', 'margin-top' => '0', 'margin-bottom' => '0', ), '.ast-header-custom-item-inside.ast-amp .button-custom-menu-item .ast-custom-button-link' => array( 'display' => 'none', ), '.ast-header-custom-item-inside.ast-amp .button-custom-menu-item .menu-link' => array( 'display' => 'block', ), '.ast-amp .woocommerce-custom-menu-item .ast-cart-menu-wrap' => array( 'width' => '2em', 'height' => '2em', 'font-size' => '1.4em', 'line-height' => '2', 'vertical-align' => 'middle', 'text-align' => 'right', ), '.ast-theme.ast-woocommerce-cart-menu .header-main-layout-3 .ast-site-header-cart' => array( 'padding' => '0 0 1em 1em', ), '.ast-theme.ast-woocommerce-cart-menu.ast-header-custom-item-outside .ast-site-header-cart' => array( 'padding' => '0', ), '.ast-amp .ast-masthead-custom-menu-items.woocommerce-custom-menu-item' => array( 'margin-bottom' => '0', 'margin-top' => '0', ), '.ast-amp .ast-masthead-custom-menu-items.woocommerce-custom-menu-item .ast-site-header-cart' => array( 'padding' => '0', ), '.ast-amp .ast-masthead-custom-menu-items.woocommerce-custom-menu-item .ast-site-header-cart a' => array( 'border' => 'none', 'display' => 'inline-block', ), '.ast-theme.ast-header-custom-item-inside .main-header-bar .ast-search-menu-icon .search-form' => array( 'visibility' => 'visible', 'opacity' => '1', 'position' => 'relative', 'right' => 'auto', 'top' => 'auto', 'transform' => 'none', ), '.ast-theme.ast-header-custom-item-outside .ast-mobile-header-stack .main-header-bar .ast-search-icon' => array( 'margin' => '0', ), '.ast-amp .ast-mobile-header-stack .main-header-bar .ast-search-menu-icon.slide-search .search-form' => array( 'right' => '-1em', ), '.ast-amp .ast-mobile-header-stack .site-branding, .ast-amp .ast-mobile-header-stack .ast-mobile-menu-buttons' => array( '-webkit-box-pack' => 'center', '-webkit-justify-content' => 'center', '-moz-box-pack' => 'center', '-ms-flex-pack' => 'center', 'justify-content' => 'center', 'text-align' => 'center', 'padding-bottom' => '0', ), '.ast-safari-browser-less-than-11.ast-woocommerce-cart-menu.ast-header-break-point .header-main-layout-2 .main-header-container' => array( 'display' => 'flex', ), ); // Tablet CSS. $astra_medium_break_point_navigation = array( '.ast-amp .footer-sml-layout-2 .ast-small-footer-section-2' => array( 'margin-top' => '1em', ), ); $parse_css .= astra_parse_css( $astra_medium_break_point_navigation, astra_get_tablet_breakpoint() ); // Mobile CSS. $astra_small_break_point_navigation = array( '.ast-theme.ast-woocommerce-cart-menu .header-main-layout-1.ast-mobile-header-stack.ast-no-menu-items .ast-site-header-cart, .ast-theme.ast-woocommerce-cart-menu .header-main-layout-3.ast-mobile-header-stack.ast-no-menu-items .ast-site-header-cart' => array( 'padding-right' => '0', 'padding-left' => '0', ), '.ast-theme.ast-woocommerce-cart-menu .header-main-layout-1.ast-mobile-header-stack .main-header-bar, .ast-theme.ast-woocommerce-cart-menu .header-main-layout-3.ast-mobile-header-stack .main-header-bar' => array( 'text-align' => 'center', ), '.ast-theme.ast-woocommerce-cart-menu .header-main-layout-1.ast-mobile-header-stack .ast-site-header-cart, .ast-theme.ast-woocommerce-cart-menu .header-main-layout-3.ast-mobile-header-stack .ast-site-header-cart' => array( 'display' => 'inline-block', ), '.ast-theme.ast-woocommerce-cart-menu .header-main-layout-1.ast-mobile-header-stack .ast-mobile-menu-buttons, .ast-theme.ast-woocommerce-cart-menu .header-main-layout-3.ast-mobile-header-stack .ast-mobile-menu-buttons' => array( 'display' => 'inline-block', ), '.ast-theme.ast-woocommerce-cart-menu .header-main-layout-2.ast-mobile-header-inline .site-branding' => array( 'flex' => 'auto', ), '.ast-theme.ast-woocommerce-cart-menu .header-main-layout-3.ast-mobile-header-stack .site-branding' => array( 'flex' => '0 0 100%', ), '.ast-theme.ast-woocommerce-cart-menu .header-main-layout-3.ast-mobile-header-stack .main-header-container' => array( 'display' => '-webkit-box', 'display' => '-webkit-flex', 'display' => '-moz-box', 'display' => '-ms-flexbox', 'display' => 'flex', '-webkit-box-pack' => 'center', '-webkit-justify-content' => 'center', '-moz-box-pack' => 'center', '-ms-flex-pack' => 'center', 'justify-content' => 'center', ), '.ast-amp .ast-mobile-header-stack .ast-mobile-menu-buttons' => array( 'width' => '100%', ), '.ast-amp .ast-mobile-header-stack .site-branding, .ast-amp .ast-mobile-header-stack .ast-mobile-menu-buttons' => array( '-webkit-box-pack' => 'center', '-webkit-justify-content' => 'center', '-moz-box-pack' => 'center', '-ms-flex-pack' => 'center', 'justify-content' => 'center', ), '.ast-amp .ast-mobile-header-stack.header-main-layout-1 .main-header-bar-wrap .site-branding' => array( '-webkit-box-flex' => '1', '-webkit-flex' => '1 1 auto', '-moz-box-flex' => '1', '-ms-flex' => '1 1 auto', '-webkit-box-flex' => '1', '-webkit-flex' => '1 1 auto', '-moz-box-flex' => '1', '-ms-flex' => '1 1 auto', 'flex' => '1 1 auto', ), '.ast-amp .ast-mobile-header-stack .ast-mobile-menu-buttons' => array( 'padding-top' => '0.8em', ), '.ast-amp .ast-mobile-header-stack.header-main-layout-2 .ast-mobile-menu-buttons' => array( 'padding-top' => '0.8em', ), '.ast-amp .ast-mobile-header-stack.header-main-layout-1 .site-branding' => array( 'padding-bottom' => '0', ), '.ast-header-custom-item-outside.ast-amp .ast-mobile-header-stack .ast-masthead-custom-menu-items' => array( 'padding' => '0.8em 1em 0 1em', 'text-align' => 'center', 'width' => '100%', ), '.ast-header-custom-item-outside.ast-amp .ast-mobile-header-stack.header-main-layout-3 .ast-mobile-menu-buttons, .ast-header-custom-item-outside.ast-amp .ast-mobile-header-stack.header-main-layout-3 .ast-masthead-custom-menu-items' => array( 'padding-top' => '0.8em', ), // Tablet CSS. '.ast-amp .footer-sml-layout-2 .ast-small-footer-section-2' => array( 'margin-top' => '1em', ), ); $parse_css .= astra_parse_css( $astra_small_break_point_navigation, '', astra_get_mobile_breakpoint() ); } $parse_css .= astra_parse_css( $astra_break_point_navigation, '', astra_header_break_point() ); // Move all header-break-point css from class based css to media query based CSS. $astra_break_point_navigation = array( '.ast-amp .entry-content .alignwide' => array( 'margin-left' => 'auto', 'margin-right' => 'auto', ), '.ast-amp .main-navigation' => array( 'padding-left' => '0', ), '.ast-amp .main-navigation ul .menu-item .menu-link, .ast-amp .main-navigation ul .button-custom-menu-item a' => array( 'padding' => '0 20px', 'display' => 'inline-block', 'width' => '100%', 'border-bottom-width' => '1px', 'border-style' => 'solid', 'border-color' => '#eaeaea', ), '.ast-amp .main-navigation .sub-menu .menu-item .menu-link' => array( 'padding-left' => '30px', ), '.ast-amp .main-navigation .sub-menu .menu-item .menu-item .menu-link' => array( 'padding-left' => '40px', ), '.ast-amp .main-navigation .sub-menu .menu-item .menu-item .menu-item .menu-link' => array(), '.ast-amp .main-navigation .sub-menu .menu-item .menu-item .menu-item .menu-item .menu-link' => array( 'padding-left' => '60px', ), '.ast-amp .main-header-menu' => array( 'background-color' => '#f9f9f9', ), '.ast-amp .main-header-menu ul' => array( 'background-color' => '#f9f9f9', 'position' => 'static', 'opacity' => '1', 'visibility' => 'visible', 'border' => '0', 'width' => 'auto', ), '.ast-amp .main-header-menu ul li.ast-left-align-sub-menu:hover > ul, .ast-amp .main-header-menu ul li.ast-left-align-sub-menu.focus > ul' => array( 'left' => '0', ), '.ast-amp .main-header-menu li.ast-sub-menu-goes-outside:hover > ul, .ast-amp .main-header-menu li.ast-sub-menu-goes-outside.focus > ul' => array( 'left' => '0', ), '.ast-amp .submenu-with-border .sub-menu' => array( 'border' => '0', ), '.ast-amp .user-select' => array( 'clear' => 'both', ), '.ast-amp .ast-mobile-menu-buttons' => array( 'display' => 'block', '-webkit-align-self' => 'center', '-ms-flex-item-align' => 'center', 'align-self' => 'center', ), '.ast-amp .main-header-bar-navigation' => array( '-webkit-box-flex' => '1', '-webkit-flex' => 'auto', '-moz-box-flex' => '1', '-ms-flex' => 'auto', 'flex' => 'auto', 'width' => '-webkit-calc( 100% + 40px)', 'width' => 'calc(100% + 40px )', ), '.ast-amp .ast-main-header-bar-alignment' => array( 'display' => 'block', 'width' => '100%', '-webkit-box-flex' => '1', '-webkit-flex' => 'auto', '-moz-box-flex' => '1', '-ms-flex' => 'auto', 'flex' => 'auto', '-webkit-box-ordinal-group' => '5', '-webkit-order' => '4', '-moz-box-ordinal-group' => '5', '-ms-flex-order' => '4', 'order' => '4', ), '.ast-amp .ast-mobile-menu-buttons' => array( 'text-align' => 'right', 'display' => '-webkit-box', 'display' => '-webkit-flex', 'display' => '-moz-box', 'display' => '-ms-flexbox', 'display' => 'flex', '-webkit-box-pack' => 'end', '-webkit-justify-content' => 'flex-end', '-moz-box-pack' => 'end', '-ms-flex-pack' => 'end', 'justify-content' => 'flex-end', ), '.ast-amp .site-header .main-header-bar-wrap .site-branding' => array( '-js-display' => 'flex', 'display' => '-webkit-box', 'display' => '-webkit-flex', 'display' => '-moz-box', 'display' => '-ms-flexbox', 'display' => 'flex', '-webkit-box-flex' => '1', '-webkit-flex' => '1', '-moz-box-flex' => '1', '-ms-flex' => '1', 'flex' => '1', '-webkit-align-self' => 'center', '-ms-flex-item-align' => 'center', 'align-self' => 'center', ), '.ast-amp .ast-site-identity' => array( 'width' => '100%', ), '.ast-amp .main-header-bar-navigation .menu-item-has-children > .menu-link .sub-arrow:after' => array( 'display' => 'none', ), '.ast-amp .main-header-bar' => array( 'display' => 'block', 'line-height' => '3', ), '.ast-main-header-bar-alignment .main-header-bar-navigation' => array( 'line-height' => '3', 'display' => 'none', ), '.ast-amp .main-header-bar .toggled-on .main-header-bar-navigation' => array( 'line-height' => '3', 'display' => 'none', ), '.ast-amp .main-header-bar .main-header-bar-navigation .sub-menu' => array( 'line-height' => '3', ), '.ast-amp .main-header-bar .main-header-bar-navigation .menu-item-has-children .sub-menu' => array( 'display' => 'none', ), '.ast-amp .main-header-bar .main-header-bar-navigation .menu-item-has-children .dropdown-open+ul.sub-menu' => array( 'display' => 'block', ), '.ast-amp .main-header-bar .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle' => array( 'display' => 'inline-block', 'position' => 'absolute', 'font-size' => 'inherit', 'top' => '-1px', 'right' => '20px', 'cursor' => 'pointer', 'webkit-font-smoothing' => 'antialiased', 'moz-osx-font-smoothing' => 'grayscale', 'padding' => '0 0.907em', 'font-weight' => 'normal', 'line-height' => 'inherit', 'transition' => 'all 0.2s', ), '.ast-amp .main-header-bar .main-header-bar-navigation .ast-submenu-expanded > .ast-menu-toggle::before' => array( '-webkit-transform' => 'rotateX(180deg)', 'transform' => 'rotateX(180deg)', ), '.ast-amp .main-header-bar .main-header-bar-navigation .main-header-menu' => array( 'border-top-width' => '1px', 'border-style' => 'solid', 'border-color' => '#eaeaea', ), '.ast-amp .main-navigation' => array( 'display' => 'block', 'width' => '100%', ), '.ast-amp .main-navigation ul > li:first-child' => array( 'border-top' => '0', ), '.ast-amp .main-navigation ul ul' => array( 'left' => 'auto', 'right' => 'auto', ), '.ast-amp .main-navigation li' => array( 'width' => '100%', ), '.ast-amp .main-navigation .widget' => array( 'margin-bottom' => '1em', ), '.ast-amp .main-navigation .widget li' => array( 'width' => 'auto', ), '.ast-amp .main-navigation .widget:last-child' => array( 'margin-bottom' => '0', ), '.ast-amp .main-header-menu ul ul' => array( 'top' => '0', ), '.ast-amp .ast-has-mobile-header-logo .custom-logo-link, .ast-amp .ast-has-mobile-header-logo .astra-logo-svg' => array( 'display' => 'none', ), '.ast-amp .ast-has-mobile-header-logo .custom-mobile-logo-link' => array( 'display' => 'inline-block', ), '.ast-theme.ast-mobile-inherit-site-logo .ast-has-mobile-header-logo .custom-logo-link, .ast-theme.ast-mobile-inherit-site-logo .ast-has-mobile-header-logo .astra-logo-svg' => array( 'display' => 'block', ), '.ast-amp .ast-header-widget-area .widget' => array( 'margin' => '0.5em 0', 'display' => 'block', ), '.ast-amp .main-header-bar' => array( 'border' => '0', 'border-bottom-color' => '#eaeaea', 'border-bottom-style' => 'solid', ), '.ast-amp .nav-fallback-text' => array( 'float' => 'none', ), '.ast-amp .main-header-menu .woocommerce-custom-menu-item .ast-cart-menu-wrap' => array( 'height' => '3em', 'line-height' => '3', 'text-align' => 'left', ), '.ast-amp .ast-site-header-cart .widget_shopping_cart' => array( 'display' => 'none', ), '.ast-theme.ast-woocommerce-cart-menu .ast-site-header-cart' => array( 'order' => 'initial', 'line-height' => '3', 'padding' => '0 1em 1em 0', ), '.ast-amp .ast-edd-site-header-cart .widget_edd_cart_widget, .ast-amp .ast-edd-site-header-cart .ast-edd-header-cart-info-wrap' => array( 'display' => 'none', ), '.ast-amp div.ast-masthead-custom-menu-items.edd-custom-menu-item' => array( 'padding' => '0', ), '.ast-amp .main-header-bar .ast-search-menu-icon.slide-search .search-form' => array( 'right' => '0', ), '.ast-amp .main-header-menu .sub-menu' => array( 'box-shadow' => 'none', ), '.ast-amp .submenu-with-border .sub-menu a' => array( 'border-width' => '1px', ), '.ast-amp .submenu-with-border .sub-menu > li:last-child > a' => array( 'border-width' => '1px', ), ); if ( false === Astra_Icons::is_svg_icons() ) { $astra_break_point_navigation['.ast-amp .main-navigation ul.children li a:before, .ast-amp .main-navigation ul.sub-menu li a:before'] = array( 'content' => '"\e900"', 'font-family' => '"Astra"', 'font-size' => '0.65em', 'text-decoration' => 'inherit', 'display' => 'inline-block', 'transform' => 'translate(0, -2px) rotateZ(270deg)', 'margin-right' => '5px', ); $astra_break_point_navigation['.ast-amp .main-header-bar .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle::before'] = array( 'font-weight' => 'bold', 'content' => '"\e900"', 'font-family' => '"Astra"', 'text-decoration' => 'inherit', 'display' => 'inline-block', ); } else { $astra_break_point_navigation['[data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-buttons-minimal'] = array( 'background' => 'transparent', 'border' => 'none', ); } $parse_css .= astra_parse_css( $astra_break_point_navigation, '', astra_header_break_point() ); return $parse_css; } /** * Add AMP attributes to the nav menu wrapper. * * @since 1.7.0 * @param Array $attr HTML attributes to be added to the nav menu wrapper. * * @return Array updated HTML attributes. */ public function nav_menu_wrapper( $attr ) { $attr['[class]'] = '( astraAmpMenuExpanded ? \'ast-main-header-bar-alignment toggle-on\' : \'ast-main-header-bar-alignment\' )'; $attr['aria-expanded'] = 'false'; $attr['[aria-expanded]'] = '(astraAmpMenuExpanded ? \'true\' : \'false\')'; return $attr; } /** * Set AMP State for eeach sub menu toggle. * * @since 1.7.0 * @param String $item_output HTML markup for the menu item. * @param WP_Post $item Post object for the navigation menu. * * @return String HTML MArkup for the menu including the AML State. */ public function toggle_button_markup( $item_output, $item ) { $item_output .= '<amp-state id="astraNavMenuItemExpanded' . esc_attr( $item->ID ) . '"><script type="application/json">false</script></amp-state>'; return $item_output; } /** * Add AMP attribites to the toggle button to add `.ast-submenu-expanded` class to parent li. * * @since 1.7.0 * @param array $attr Optional. Extra attributes to merge with defaults. * @param string $context The context, to build filter name. * @param array $args Optional. Custom data to pass to filter. * * @return Array updated HTML attributes. */ public function menu_toggle_button( $attr, $context, $args ) { $attr['[class]'] = '( astraNavMenuItemExpanded' . $args->ID . ' ? \' ast-menu-toggle dropdown-open\' : \'ast-menu-toggle\')'; $attr['on'] = 'tap:AMP.setState( { astraNavMenuItemExpanded' . $args->ID . ': ! astraNavMenuItemExpanded' . $args->ID . ' } )'; return $attr; } /** * Add amp states to the dom. */ public function render_amp_states() { echo '<amp-state id="astraAmpMenuExpanded">'; echo '<script type="application/json">false</script>'; echo '</amp-state>'; } /** * Add search slide data attributes. * * @param string $input the data attrs already existing in the nav. * * @return string */ public function add_search_slide_toggle_attrs( $input ) { $input .= ' on="tap:AMP.setState( { astraAmpSlideSearchMenuExpanded: ! astraAmpSlideSearchMenuExpanded } )" '; $input .= ' [class]="( astraAmpSlideSearchMenuExpanded ? \'ast-search-menu-icon slide-search ast-dropdown-active\' : \'ast-search-menu-icon slide-search\' )" '; $input .= ' aria-expanded="false" [aria-expanded]="astraAmpSlideSearchMenuExpanded ? \'true\' : \'false\'" '; return $input; } /** * Add search slide data attributes. * * @param string $input the data attrs already existing in the nav. * * @return string */ public function add_search_field_toggle_attrs( $input ) { $input .= ' on="tap:AMP.setState( { astraAmpSlideSearchMenuExpanded: astraAmpSlideSearchMenuExpanded } )" '; return $input; } /** * Add the nav toggle data attributes. * * @param string $input the data attrs already existing in nav toggle. * * @return string */ public function add_nav_toggle_attrs( $input ) { $input .= ' on="tap:AMP.setState( { astraAmpMenuExpanded: ! astraAmpMenuExpanded } ),astra-body.toggleClass(class=ast-main-header-nav-open)" '; $input .= ' [class]="\'menu-toggle main-header-menu-toggle ast-mobile-menu-buttons-minimal\' + ( astraAmpMenuExpanded ? \' toggled\' : \'\' )" '; $input .= ' aria-expanded="false" '; $input .= ' [aria-expanded]="astraAmpMenuExpanded ? \'true\' : \'false\'" '; return $input; } } endif; /** * Kicking this off by calling 'get_instance()' method */ Astra_AMP::get_instance(); class-astra-contact-form-7.php 0000644 00000002457 15006151013 0012230 0 ustar 00 <?php /** * Contact Form 7 Compatibility File. * * @package Astra */ // If plugin - 'Contact Form 7' not exist then return. if ( ! class_exists( 'WPCF7' ) ) { return; } /** * Astra Contact Form 7 Compatibility */ if ( ! class_exists( 'Astra_Contact_Form_7' ) ) : /** * Astra Contact Form 7 Compatibility * * @since 1.0.0 */ class Astra_Contact_Form_7 { /** * 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_action( 'wpcf7_enqueue_styles', array( $this, 'add_styles' ) ); } /** * Add assets in theme * * @since 1.0.0 */ public function add_styles() { $file_prefix = '.min'; $dir_name = 'minified'; if ( is_rtl() ) { $file_prefix .= '-rtl'; } $css_file = ASTRA_THEME_URI . 'assets/css/' . $dir_name . '/compatibility/contact-form-7-main' . $file_prefix . '.css'; wp_enqueue_style( 'astra-contact-form-7', $css_file, array(), ASTRA_THEME_VERSION, 'all' ); } } endif; /** * Kicking this off by calling 'get_instance()' method */ Astra_Contact_Form_7::get_instance(); starter-content/astra-settings-export.json 0000644 00001041025 15006151013 0015055 0 ustar 00 { "customizer-settings": { "astra-settings": { "theme-auto-version": "4.8.7", "blog-single-post-structure": [ "single-image", "single-title-meta" ], "blog-single-width": "default", "blog-single-max-width": 1200, "blog-single-meta": [ "comments", "category", "author" ], "blog-post-structure": [ "image", "category", "title", "title-meta", "excerpt" ], "blog-width": "default", "blog-max-width": 1200, "blog-post-content": "excerpt", "blog-meta": [ "comments", "category", "author" ], "text-color": "var(--ast-global-color-3)", "link-color": "var(--ast-global-color-0)", "theme-color": "var(--ast-global-color-0)", "link-h-color": "var(--ast-global-color-1)", "heading-base-color": "var(--ast-global-color-2)", "border-color": "var(--ast-global-color-6)", "footer-bg-obj": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll", "background-type": "", "background-media": "" }, "footer-color": "", "footer-link-color": "", "footer-link-h-color": "", "footer-adv-bg-obj": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll", "background-type": "", "background-media": "" }, "footer-adv-text-color": "", "footer-adv-link-color": "", "footer-adv-link-h-color": "", "footer-adv-wgt-title-color": "", "button-color": "var(--ast-global-color-2)", "secondary-button-color": "var(--ast-global-color-2)", "button-h-color": "var(--ast-global-color-2)", "secondary-button-h-color": "var(--ast-global-color-2)", "button-bg-color": "var(--ast-global-color-7)", "secondary-button-bg-color": "var(--ast-global-color-7)", "button-bg-h-color": "var(--ast-global-color-7)", "secondary-button-bg-h-color": "var(--ast-global-color-7)", "theme-button-padding": { "desktop": { "top": "20", "right": "40", "bottom": "20", "left": "40" }, "tablet": { "top": "18", "right": "32", "bottom": "18", "left": "32" }, "mobile": { "top": "15", "right": "28", "bottom": "15", "left": "28" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "secondary-theme-button-padding": { "desktop": { "top": "20", "right": "40", "bottom": "20", "left": "40" }, "tablet": { "top": "18", "right": "32", "bottom": "18", "left": "32" }, "mobile": { "top": "15", "right": "28", "bottom": "15", "left": "28" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "button-radius": 50, "theme-button-border-group-border-size": { "top": "0", "right": "0", "bottom": "0", "left": "0" }, "secondary-theme-button-border-group-border-size": { "top": "0", "right": "0", "bottom": "0", "left": "0" }, "footer-sml-layout": "footer-sml-layout-1", "footer-sml-section-1": "custom", "footer-sml-section-1-credit": "Copyright © [current_year] [site_title] | Powered by [theme_author]", "footer-sml-section-2": "", "footer-sml-section-2-credit": "Copyright © [current_year] [site_title] | Powered by [theme_author]", "footer-sml-dist-equal-align": true, "footer-sml-divider": 1, "footer-sml-divider-color": "#7a7a7a", "footer-layout-width": "content", "ast-header-retina-logo": "", "ast-header-logo-width": "", "ast-header-responsive-logo-width": { "desktop": "", "tablet": "", "mobile": "" }, "header-color-site-title": "", "header-color-h-site-title": "", "header-color-site-tagline": "", "display-site-title-responsive": { "desktop": false, "tablet": false, "mobile": false }, "display-site-tagline-responsive": { "desktop": false, "tablet": 0, "mobile": 0 }, "logo-title-inline": false, "disable-primary-nav": false, "header-layouts": "header-main-layout-1", "header-main-rt-section": "none", "header-display-outside-menu": false, "header-main-rt-section-html": "<button>Contact Us</button>", "header-main-rt-section-button-text": "Button", "header-main-rt-section-button-link": "https://www.wpastra.com", "header-main-rt-section-button-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "header-main-rt-section-button-style": "theme-button", "header-main-rt-section-button-text-color": "", "header-main-rt-section-button-back-color": "", "header-main-rt-section-button-text-h-color": "", "header-main-rt-section-button-back-h-color": "", "header-main-rt-section-button-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" } }, "header-main-rt-section-button-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "header-main-sep": 1, "header-main-sep-color": "", "header-main-layout-width": "content", "primary-submenu-border": { "top": "2", "right": "0", "bottom": "0", "left": "0" }, "primary-submenu-item-border": false, "primary-submenu-b-color": "", "primary-submenu-item-b-color": "", "primary-header-button-font-family": "inherit", "primary-header-button-font-weight": "inherit", "primary-header-button-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "primary-header-button-text-transform": "", "primary-header-button-line-height": 1, "primary-header-button-letter-spacing": "", "header-main-menu-label": "", "header-main-menu-align": "inline", "header-main-submenu-container-animation": "", "mobile-header-breakpoint": "", "mobile-header-logo": "", "mobile-header-logo-width": "", "site-layout": "ast-full-width-layout", "site-content-width": 1200, "narrow-container-max-width": 750, "site-layout-outside-bg-obj-responsive": { "desktop": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll", "background-type": "", "background-media": "" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll", "background-type": "", "background-media": "" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll", "background-type": "", "background-media": "" } }, "content-bg-obj-responsive": { "desktop": { "background-color": "var(--ast-global-color-5)", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll", "background-type": "color", "background-media": "" }, "tablet": { "background-color": "var(--ast-global-color-5)", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll", "background-type": "color", "background-media": "" }, "mobile": { "background-color": "var(--ast-global-color-5)", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll", "background-type": "color", "background-media": "" } }, "wp-blocks-ui": "custom", "wp-blocks-global-padding": { "desktop": { "top": "100", "right": "80", "bottom": "100", "left": "80" }, "tablet": { "top": "50", "right": "50", "bottom": "50", "left": "50" }, "mobile": { "top": "50", "right": "30", "bottom": "50", "left": "30" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "site-content-layout": "content-boxed-container", "single-page-content-layout": "plain-container", "single-post-content-layout": "default", "archive-post-content-layout": "default", "body-font-family": "'Inter', sans-serif", "body-font-variant": "600", "body-font-weight": "inherit", "font-size-body": { "desktop": 18, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "body-line-height": "1.65", "para-margin-bottom": "", "underline-content-links": true, "body-text-transform": "", "headings-font-family": "'Plus Jakarta Sans', sans-serif", "headings-font-weight": "600", "headings-text-transform": "", "headings-line-height": "", "font-size-site-title": { "desktop": 35, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-size-site-tagline": { "desktop": 15, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-size-entry-title": { "desktop": 30, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "single-post-outside-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-size-archive-summary-title": { "desktop": 40, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-size-page-title": { "desktop": 20, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-size-h1": { "desktop": 64, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-size-h2": { "desktop": 48, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-size-h3": { "desktop": 24, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-size-h4": { "desktop": 20, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-size-h5": { "desktop": 18, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-size-h6": { "desktop": 15, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "site-sidebar-layout": "no-sidebar", "site-sidebar-width": 30, "single-page-sidebar-layout": "no-sidebar", "single-post-sidebar-layout": "default", "archive-post-sidebar-layout": "default", "footer-adv": "disabled", "footer-adv-border-width": "", "footer-adv-border-color": "#7a7a7a", "mobile-header-toggle-btn-style": "minimal", "hide-custom-menu-mobile": 1, "mobile-header-toggle-target": "icon", "load-google-fonts-locally": false, "preload-local-fonts": false, "enable-scroll-to-id": true, "enable-related-posts": false, "related-posts-title": "Related Posts", "releted-posts-title-alignment": "left", "related-posts-total-count": 2, "enable-related-posts-excerpt": false, "related-posts-excerpt-count": 25, "related-posts-based-on": "categories", "related-posts-order-by": "date", "related-posts-order": "asc", "related-posts-grid-responsive": { "desktop": "2-equal", "tablet": "2-equal", "mobile": "full" }, "related-posts-structure": [ "featured-image", "title-meta" ], "related-posts-meta-structure": [ "comments", "category", "author" ], "related-posts-text-color": "", "related-posts-link-color": "", "related-posts-title-color": "", "related-posts-background-color": "", "related-posts-meta-color": "", "related-posts-link-hover-color": "", "related-posts-meta-link-hover-color": "", "related-posts-section-title-font-family": "inherit", "related-posts-section-title-font-weight": "inherit", "related-posts-section-title-text-transform": "", "related-posts-section-title-line-height": "", "related-posts-section-title-font-size": { "desktop": "30", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "related-posts-title-font-family": "inherit", "related-posts-title-font-weight": "inherit", "related-posts-title-text-transform": "", "related-posts-title-line-height": "1", "related-posts-title-font-size": { "desktop": "20", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "related-posts-meta-font-family": "inherit", "related-posts-meta-font-weight": "inherit", "related-posts-meta-text-transform": "", "related-posts-meta-line-height": "", "related-posts-meta-font-size": { "desktop": "14", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "related-posts-content-font-family": "inherit", "related-posts-content-font-weight": "inherit", "related-posts-content-text-transform": "", "related-posts-content-line-height": "", "related-posts-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "transparent-header-logo": "", "transparent-header-retina-logo": "", "different-transparent-logo": 0, "different-transparent-retina-logo": 0, "transparent-header-logo-width": { "desktop": 150, "tablet": 120, "mobile": 100 }, "transparent-header-enable": 0, "transparent-header-disable-archive": 1, "transparent-header-disable-latest-posts-index": 1, "transparent-header-on-devices": "both", "transparent-header-main-sep": 0, "transparent-header-main-sep-color": "", "transparent-header-bg-color": "", "transparent-header-color-site-title": "", "transparent-header-color-h-site-title": "", "transparent-menu-bg-color": "", "transparent-menu-color": "", "transparent-menu-h-color": "", "transparent-submenu-bg-color": "", "transparent-submenu-color": "", "transparent-submenu-h-color": "", "transparent-header-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "transparent-header-color-site-title-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "transparent-header-color-h-site-title-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "transparent-menu-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "transparent-menu-color-responsive": { "desktop": "", "tablet": "var(--ast-global-color-2)", "mobile": "" }, "transparent-menu-h-color-responsive": { "desktop": "", "tablet": "var(--ast-global-color-0)", "mobile": "" }, "transparent-submenu-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "transparent-submenu-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "transparent-submenu-h-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "transparent-content-section-text-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "transparent-content-section-link-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "transparent-content-section-link-h-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "breadcrumb-font-family": "inherit", "breadcrumb-font-weight": "inherit", "breadcrumb-text-transform": "", "breadcrumb-text-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "breadcrumb-active-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "breadcrumb-hover-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "breadcrumb-separator-color": { "desktop": "", "tablet": "", "mobile": "" }, "breadcrumb-bg-color": { "desktop": "", "tablet": "", "mobile": "" }, "breadcrumb-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "breadcrumb-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "breadcrumb-separator-selector": "\\003E", "breadcrumb-separator": "\\00bb", "h1-color": "", "h2-color": "", "h3-color": "", "h4-color": "", "h5-color": "", "h6-color": "", "font-family-h1": "inherit", "font-weight-h1": "inherit", "font-extras-h1": { "line-height": "1.4", "line-height-unit": "em", "letter-spacing": "", "letter-spacing-unit": "px", "text-transform": "", "text-decoration": "" }, "font-family-h2": "inherit", "font-weight-h2": "inherit", "font-extras-h2": { "line-height": "1.3", "line-height-unit": "em", "letter-spacing": "", "letter-spacing-unit": "px", "text-transform": "", "text-decoration": "" }, "font-family-h3": "inherit", "font-weight-h3": "inherit", "font-extras-h3": { "line-height": "1.3", "line-height-unit": "em", "letter-spacing": "", "letter-spacing-unit": "px", "text-transform": "", "text-decoration": "" }, "font-family-h4": "inherit", "font-weight-h4": "inherit", "font-extras-h4": { "line-height": "1.2", "line-height-unit": "em", "letter-spacing": "", "letter-spacing-unit": "px", "text-transform": "", "text-decoration": "" }, "font-family-h5": "inherit", "font-weight-h5": "inherit", "font-extras-h5": { "line-height": "1.2", "line-height-unit": "em", "letter-spacing": "", "letter-spacing-unit": "px", "text-transform": "", "text-decoration": "" }, "font-family-h6": "inherit", "font-weight-h6": "inherit", "font-extras-h6": { "line-height": "1.25", "line-height-unit": "em", "letter-spacing": "", "letter-spacing-unit": "px", "text-transform": "", "text-decoration": "" }, "header-menu1-font-extras": { "line-height": "1.6", "line-height-unit": "em", "letter-spacing": "", "letter-spacing-unit": "px", "text-transform": "", "text-decoration": "" }, "font-weight-button": "600", "secondary-font-weight-button": "600", "font-family-button": "inherit", "secondary-font-family-button": "inherit", "font-size-button": { "desktop": 20, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "secondary-font-size-button": { "desktop": 20, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "text-transform-button": "", "theme-btn-line-height": 1, "theme-btn-letter-spacing": "", "header-desktop-items": { "popup": { "popup_content": [ "mobile-menu" ] }, "above": { "above_left": [], "above_left_center": [], "above_center": [], "above_right_center": [], "above_right": [] }, "primary": { "primary_left": [ "logo" ], "primary_left_center": [], "primary_center": [], "primary_right_center": [], "primary_right": [ "menu-1", "social-icons-1" ] }, "below": { "below_left": [], "below_left_center": [], "below_center": [], "below_right_center": [], "below_right": [] }, "flag": false }, "header-mobile-items": { "popup": { "popup_content": [ "mobile-menu" ] }, "above": { "above_left": [], "above_center": [], "above_right": [] }, "primary": { "primary_left": [ "logo" ], "primary_center": [], "primary_right": [ "mobile-trigger" ] }, "below": { "below_left": [], "below_center": [], "below_right": [] }, "flag": true }, "hb-header-main-layout-width": "content", "hb-header-height": { "desktop": 110, "tablet": 100, "mobile": 80 }, "hb-stack": { "desktop": "stack", "tablet": "stack", "mobile": "stack" }, "hb-header-main-sep": 0, "hb-header-main-sep-color": "#eaeaea", "hb-header-main-menu-align": "inline", "hb-header-bg-obj-responsive": { "desktop": { "background-color": "var(--ast-global-color-0)", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll", "background-type": "color" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "hb-header-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "1.5", "right": "", "bottom": "1.5", "left": "" }, "mobile": { "top": "1", "right": "", "bottom": "1", "left": "" }, "desktop-unit": "px", "tablet-unit": "em", "mobile-unit": "em" }, "hba-header-layout": "above-header-layout-1", "hba-header-height": { "desktop": 50, "tablet": "", "mobile": "" }, "hba-stack": { "desktop": "stack", "tablet": "stack", "mobile": "stack" }, "hba-header-separator": 1, "hba-header-bottom-border-color": "#eaeaea", "hba-header-bg-obj-responsive": { "desktop": { "background-color": "#ffffff", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "hba-header-text-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "hba-header-link-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "hba-header-link-h-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "hba-header-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "0", "right": "", "bottom": "0", "left": "" }, "mobile": { "top": "0.5", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "em" }, "hbb-header-layout": "below-header-layout-1", "hbb-header-height": { "desktop": 60, "tablet": "", "mobile": "" }, "hbb-stack": { "desktop": "stack", "tablet": "stack", "mobile": "stack" }, "hbb-header-separator": 1, "hbb-header-bottom-border-color": "#eaeaea", "hbb-header-bg-obj-responsive": { "desktop": { "background-color": "#eeeeee", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "hbb-header-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "1", "right": "", "bottom": "1", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "em", "mobile-unit": "px" }, "section-footer-builder-layout-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-footer-builder-layout-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-above-header-builder-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-above-header-builder-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-below-header-builder-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-below-header-builder-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-header-mobile-trigger-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-primary-header-builder-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-primary-header-builder-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "title_tagline-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-header-search-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-account-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-mobile-menu-menu-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "10", "right": "15", "bottom": "10", "left": "15" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-header-mobile-menu-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-above-footer-builder-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-above-footer-builder-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-below-footer-builder-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-footer-copyright-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-footer-menu-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-primary-footer-builder-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-primary-footer-builder-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-header-woo-cart-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-header-woo-cart-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button1-text": "Button", "header-button1-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "header-button1-font-family": "inherit", "header-button1-font-weight": "inherit", "header-button1-text-transform": "", "header-button1-line-height": "", "header-button1-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button1-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button1-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button1-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button1-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button1-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button1-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "header-button1-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button1-border-radius": "", "section-hb-button-1-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-hb-button-1-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sticky-header-button1-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button1-text": "Button", "footer-button1-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "footer-button1-font-family": "inherit", "footer-button1-font-weight": "inherit", "footer-button1-text-transform": "", "footer-button1-line-height": "", "footer-button1-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button1-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button1-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button1-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button1-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button1-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button1-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "footer-button1-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button1-border-radius": "", "footer-button-1-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-button-1-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-button-1-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-html-1": "Insert HTML text here.", "header-html-1color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-1link-color": { "desktop": "rgba(242,245,247,0.76)", "tablet": "", "mobile": "" }, "header-html-1link-h-color": { "desktop": "var(--ast-global-color-5)", "tablet": "", "mobile": "" }, "font-size-section-hb-html-1": { "desktop": 15, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-weight-section-hb-html-1": "inherit", "font-family-section-hb-html-1": "inherit", "line-height-section-hb-html-1": "", "text-transform-section-hb-html-1": "", "section-hb-html-1-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-1": "Insert HTML text here.", "footer-html-1color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-1link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-1link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-fb-html-1": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-1-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "font-weight-section-fb-html-1": "inherit", "font-family-section-fb-html-1": "inherit", "text-transform-section-fb-html-1": "", "line-height-section-fb-html-1": "", "section-fb-html-1-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-1-space": { "desktop": 25, "tablet": "", "mobile": "" }, "header-social-1-bg-space": "", "header-social-1-size": { "desktop": 18, "tablet": "", "mobile": "" }, "header-social-1-radius": "", "header-social-1-color": { "desktop": "var(--ast-global-color-4)" }, "header-social-1-h-color": { "desktop": "var(--ast-global-color-4)" }, "header-social-1-bg-color": "", "header-social-1-bg-h-color": "", "header-social-1-label-toggle": false, "header-social-1-color-type": "custom", "font-size-section-hb-social-icons-1": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-icons-1": { "items": [ { "id": "instagram", "enabled": true, "source": "icon", "url": "#", "color": "#8a3ab9", "background": "transparent", "icon": "instagram-square", "label": "Instagram" }, { "id": "facebook", "enabled": true, "source": "icon", "url": "#", "color": "#557dbc", "background": "transparent", "icon": "facebook-round", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "#", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" } ], "flag": true }, "section-hb-social-icons-1-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-1-space": { "desktop": "", "tablet": "", "mobile": "" }, "footer-social-1-bg-space": "", "footer-social-1-size": { "desktop": 18, "tablet": "", "mobile": "" }, "footer-social-1-radius": "", "footer-social-1-color": "", "footer-social-1-h-color": "", "footer-social-1-bg-color": "", "footer-social-1-bg-h-color": "", "footer-social-1-label-toggle": false, "footer-social-1-color-type": "custom", "font-size-section-fb-social-icons-1": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-icons-1": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "footer-social-1-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-social-icons-1-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-1-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-1-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-1-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-1-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-1-font-family": "inherit", "header-widget-1-font-weight": "inherit", "header-widget-1-text-transform": "", "header-widget-1-line-height": "", "header-widget-1-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-1-content-font-family": "inherit", "header-widget-1-content-font-weight": "inherit", "header-widget-1-content-text-transform": "", "header-widget-1-content-line-height": "", "header-widget-1-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sidebar-widgets-header-widget-1-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-1-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-1-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-1-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-1-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-1-font-family": "inherit", "footer-widget-1-font-weight": "inherit", "footer-widget-1-text-transform": "", "footer-widget-1-line-height": "", "footer-widget-1-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-1-content-font-family": "inherit", "footer-widget-1-content-font-weight": "inherit", "footer-widget-1-content-text-transform": "", "footer-widget-1-content-line-height": "", "footer-widget-1-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-alignment-1": { "desktop": "left", "tablet": "center", "mobile": "center" }, "sidebar-widgets-footer-widget-1-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu1-bg-color": "", "header-menu1-color": "", "header-menu1-h-bg-color": "", "header-menu1-h-color": "", "header-menu1-a-bg-color": "", "header-menu1-a-color": "", "header-menu1-bg-obj-responsive": { "desktop": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "header-menu1-color-responsive": { "desktop": "rgba(242,245,247,0.76)", "tablet": "", "mobile": "" }, "header-menu1-h-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu1-h-color-responsive": { "desktop": "var(--ast-global-color-5)", "tablet": "", "mobile": "" }, "header-menu1-a-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu1-a-color-responsive": { "desktop": "var(--ast-global-color-5)", "tablet": "", "mobile": "" }, "header-menu1-menu-hover-animation": "", "header-menu1-submenu-container-animation": "", "section-hb-menu-1-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu1-menu-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu1-submenu-item-border": false, "header-menu1-submenu-item-b-size": "1", "header-menu1-submenu-item-b-color": "#eaeaea", "header-menu1-submenu-border-radius": "", "header-menu1-submenu-top-offset": "", "header-menu1-submenu-width": "", "header-menu1-submenu-border": { "top": 2, "bottom": 0, "left": 0, "right": 0 }, "header-menu1-menu-stack-on-mobile": true, "header-menu1-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu1-font-weight": "inherit", "header-menu1-font-family": "inherit", "header-menu1-text-transform": "", "header-menu1-line-height": "", "section-hb-divider-1-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-divider-1-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button2-text": "Button", "header-button2-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "header-button2-font-family": "inherit", "header-button2-font-weight": "inherit", "header-button2-text-transform": "", "header-button2-line-height": "", "header-button2-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button2-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button2-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button2-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button2-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button2-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button2-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "header-button2-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button2-border-radius": "", "section-hb-button-2-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-hb-button-2-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sticky-header-button2-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button2-text": "Button", "footer-button2-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "footer-button2-font-family": "inherit", "footer-button2-font-weight": "inherit", "footer-button2-text-transform": "", "footer-button2-line-height": "", "footer-button2-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button2-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button2-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button2-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button2-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button2-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button2-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "footer-button2-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button2-border-radius": "", "footer-button-2-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-button-2-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-button-2-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-html-2": "Insert HTML text here.", "header-html-2color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-2link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-2link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-hb-html-2": { "desktop": 15, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-weight-section-hb-html-2": "inherit", "font-family-section-hb-html-2": "inherit", "line-height-section-hb-html-2": "", "text-transform-section-hb-html-2": "", "section-hb-html-2-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-2": "Insert HTML text here.", "footer-html-2color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-2link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-2link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-fb-html-2": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-2-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "font-weight-section-fb-html-2": "inherit", "font-family-section-fb-html-2": "inherit", "text-transform-section-fb-html-2": "", "line-height-section-fb-html-2": "", "section-fb-html-2-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-2-space": { "desktop": "", "tablet": "", "mobile": "" }, "header-social-2-bg-space": "", "header-social-2-size": { "desktop": 18, "tablet": "", "mobile": "" }, "header-social-2-radius": "", "header-social-2-color": "", "header-social-2-h-color": "", "header-social-2-bg-color": "", "header-social-2-bg-h-color": "", "header-social-2-label-toggle": false, "header-social-2-color-type": "custom", "font-size-section-hb-social-icons-2": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-icons-2": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "section-hb-social-icons-2-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-2-space": { "desktop": "", "tablet": "", "mobile": "" }, "footer-social-2-bg-space": "", "footer-social-2-size": { "desktop": 18, "tablet": "", "mobile": "" }, "footer-social-2-radius": "", "footer-social-2-color": "", "footer-social-2-h-color": "", "footer-social-2-bg-color": "", "footer-social-2-bg-h-color": "", "footer-social-2-label-toggle": false, "footer-social-2-color-type": "custom", "font-size-section-fb-social-icons-2": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-icons-2": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "footer-social-2-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-social-icons-2-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-2-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-2-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-2-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-2-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-2-font-family": "inherit", "header-widget-2-font-weight": "inherit", "header-widget-2-text-transform": "", "header-widget-2-line-height": "", "header-widget-2-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-2-content-font-family": "inherit", "header-widget-2-content-font-weight": "inherit", "header-widget-2-content-text-transform": "", "header-widget-2-content-line-height": "", "header-widget-2-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sidebar-widgets-header-widget-2-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-2-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-2-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-2-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-2-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-2-font-family": "inherit", "footer-widget-2-font-weight": "inherit", "footer-widget-2-text-transform": "", "footer-widget-2-line-height": "", "footer-widget-2-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-2-content-font-family": "inherit", "footer-widget-2-content-font-weight": "inherit", "footer-widget-2-content-text-transform": "", "footer-widget-2-content-line-height": "", "footer-widget-2-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-alignment-2": { "desktop": "left", "tablet": "center", "mobile": "center" }, "sidebar-widgets-footer-widget-2-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu2-bg-color": "", "header-menu2-color": "", "header-menu2-h-bg-color": "", "header-menu2-h-color": "", "header-menu2-a-bg-color": "", "header-menu2-a-color": "", "header-menu2-bg-obj-responsive": { "desktop": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "header-menu2-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu2-h-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu2-h-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu2-a-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu2-a-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu2-menu-hover-animation": "", "header-menu2-submenu-container-animation": "", "section-hb-menu-2-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu2-menu-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu2-submenu-item-border": false, "header-menu2-submenu-item-b-size": "1", "header-menu2-submenu-item-b-color": "#eaeaea", "header-menu2-submenu-border-radius": "", "header-menu2-submenu-top-offset": "", "header-menu2-submenu-width": "", "header-menu2-submenu-border": { "top": 2, "bottom": 0, "left": 0, "right": 0 }, "header-menu2-menu-stack-on-mobile": true, "header-menu2-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu2-font-weight": "inherit", "header-menu2-font-family": "inherit", "header-menu2-text-transform": "", "header-menu2-line-height": "", "section-hb-divider-2-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-divider-2-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button3-text": "Button", "header-button3-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "header-button3-font-family": "inherit", "header-button3-font-weight": "inherit", "header-button3-text-transform": "", "header-button3-line-height": "", "header-button3-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button3-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button3-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button3-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button3-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button3-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button3-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "header-button3-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button3-border-radius": "", "section-hb-button-3-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-hb-button-3-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sticky-header-button3-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button3-text": "Button", "footer-button3-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "footer-button3-font-family": "inherit", "footer-button3-font-weight": "inherit", "footer-button3-text-transform": "", "footer-button3-line-height": "", "footer-button3-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button3-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button3-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button3-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button3-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button3-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button3-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "footer-button3-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button3-border-radius": "", "footer-button-3-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-button-3-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-button-3-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-html-3": "Insert HTML text here.", "header-html-3color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-3link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-3link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-hb-html-3": { "desktop": 15, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-weight-section-hb-html-3": "inherit", "font-family-section-hb-html-3": "inherit", "line-height-section-hb-html-3": "", "text-transform-section-hb-html-3": "", "section-hb-html-3-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-3": "Insert HTML text here.", "footer-html-3color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-3link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-3link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-fb-html-3": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-3-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "font-weight-section-fb-html-3": "inherit", "font-family-section-fb-html-3": "inherit", "text-transform-section-fb-html-3": "", "line-height-section-fb-html-3": "", "section-fb-html-3-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-3-space": { "desktop": "", "tablet": "", "mobile": "" }, "header-social-3-bg-space": "", "header-social-3-size": { "desktop": 18, "tablet": "", "mobile": "" }, "header-social-3-radius": "", "header-social-3-color": "", "header-social-3-h-color": "", "header-social-3-bg-color": "", "header-social-3-bg-h-color": "", "header-social-3-label-toggle": false, "header-social-3-color-type": "custom", "font-size-section-hb-social-icons-3": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-icons-3": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "section-hb-social-icons-3-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-3-space": { "desktop": "", "tablet": "", "mobile": "" }, "footer-social-3-bg-space": "", "footer-social-3-size": { "desktop": 18, "tablet": "", "mobile": "" }, "footer-social-3-radius": "", "footer-social-3-color": "", "footer-social-3-h-color": "", "footer-social-3-bg-color": "", "footer-social-3-bg-h-color": "", "footer-social-3-label-toggle": false, "footer-social-3-color-type": "custom", "font-size-section-fb-social-icons-3": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-icons-3": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "footer-social-3-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-social-icons-3-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-3-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-3-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-3-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-3-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-3-font-family": "inherit", "header-widget-3-font-weight": "inherit", "header-widget-3-text-transform": "", "header-widget-3-line-height": "", "header-widget-3-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-3-content-font-family": "inherit", "header-widget-3-content-font-weight": "inherit", "header-widget-3-content-text-transform": "", "header-widget-3-content-line-height": "", "header-widget-3-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sidebar-widgets-header-widget-3-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-3-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-3-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-3-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-3-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-3-font-family": "inherit", "footer-widget-3-font-weight": "inherit", "footer-widget-3-text-transform": "", "footer-widget-3-line-height": "", "footer-widget-3-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-3-content-font-family": "inherit", "footer-widget-3-content-font-weight": "inherit", "footer-widget-3-content-text-transform": "", "footer-widget-3-content-line-height": "", "footer-widget-3-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-alignment-3": { "desktop": "left", "tablet": "center", "mobile": "center" }, "sidebar-widgets-footer-widget-3-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu3-bg-color": "", "header-menu3-color": "", "header-menu3-h-bg-color": "", "header-menu3-h-color": "", "header-menu3-a-bg-color": "", "header-menu3-a-color": "", "header-menu3-bg-obj-responsive": { "desktop": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "header-menu3-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu3-h-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu3-h-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu3-a-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu3-a-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu3-menu-hover-animation": "", "header-menu3-submenu-container-animation": "", "section-hb-menu-3-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu3-menu-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu3-submenu-item-border": false, "header-menu3-submenu-item-b-size": "1", "header-menu3-submenu-item-b-color": "#eaeaea", "header-menu3-submenu-border-radius": "", "header-menu3-submenu-top-offset": "", "header-menu3-submenu-width": "", "header-menu3-submenu-border": { "top": 2, "bottom": 0, "left": 0, "right": 0 }, "header-menu3-menu-stack-on-mobile": true, "header-menu3-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu3-font-weight": "inherit", "header-menu3-font-family": "inherit", "header-menu3-text-transform": "", "header-menu3-line-height": "", "section-hb-divider-3-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-divider-3-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button4-text": "Button", "header-button4-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "header-button4-font-family": "inherit", "header-button4-font-weight": "inherit", "header-button4-text-transform": "", "header-button4-line-height": "", "header-button4-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button4-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button4-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button4-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button4-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button4-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button4-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "header-button4-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button4-border-radius": "", "section-hb-button-4-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-hb-button-4-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sticky-header-button4-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button4-text": "Button", "footer-button4-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "footer-button4-font-family": "inherit", "footer-button4-font-weight": "inherit", "footer-button4-text-transform": "", "footer-button4-line-height": "", "footer-button4-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button4-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button4-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button4-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button4-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button4-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button4-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "footer-button4-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button4-border-radius": "", "footer-button-4-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-button-4-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-button-4-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-html-4": "Insert HTML text here.", "header-html-4color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-4link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-4link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-hb-html-4": { "desktop": 15, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-weight-section-hb-html-4": "inherit", "font-family-section-hb-html-4": "inherit", "line-height-section-hb-html-4": "", "text-transform-section-hb-html-4": "", "section-hb-html-4-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-4": "Insert HTML text here.", "footer-html-4color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-4link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-4link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-fb-html-4": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-4-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "font-weight-section-fb-html-4": "inherit", "font-family-section-fb-html-4": "inherit", "text-transform-section-fb-html-4": "", "line-height-section-fb-html-4": "", "section-fb-html-4-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-4-space": { "desktop": "", "tablet": "", "mobile": "" }, "header-social-4-bg-space": "", "header-social-4-size": { "desktop": 18, "tablet": "", "mobile": "" }, "header-social-4-radius": "", "header-social-4-color": "", "header-social-4-h-color": "", "header-social-4-bg-color": "", "header-social-4-bg-h-color": "", "header-social-4-label-toggle": false, "header-social-4-color-type": "custom", "font-size-section-hb-social-icons-4": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-icons-4": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "section-hb-social-icons-4-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-4-space": { "desktop": "", "tablet": "", "mobile": "" }, "footer-social-4-bg-space": "", "footer-social-4-size": { "desktop": 18, "tablet": "", "mobile": "" }, "footer-social-4-radius": "", "footer-social-4-color": "", "footer-social-4-h-color": "", "footer-social-4-bg-color": "", "footer-social-4-bg-h-color": "", "footer-social-4-label-toggle": false, "footer-social-4-color-type": "custom", "font-size-section-fb-social-icons-4": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-icons-4": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "footer-social-4-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-social-icons-4-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-4-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-4-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-4-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-4-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-4-font-family": "inherit", "header-widget-4-font-weight": "inherit", "header-widget-4-text-transform": "", "header-widget-4-line-height": "", "header-widget-4-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-4-content-font-family": "inherit", "header-widget-4-content-font-weight": "inherit", "header-widget-4-content-text-transform": "", "header-widget-4-content-line-height": "", "header-widget-4-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sidebar-widgets-header-widget-4-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-4-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-4-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-4-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-4-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-4-font-family": "inherit", "footer-widget-4-font-weight": "inherit", "footer-widget-4-text-transform": "", "footer-widget-4-line-height": "", "footer-widget-4-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-4-content-font-family": "inherit", "footer-widget-4-content-font-weight": "inherit", "footer-widget-4-content-text-transform": "", "footer-widget-4-content-line-height": "", "footer-widget-4-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-alignment-4": { "desktop": "left", "tablet": "center", "mobile": "center" }, "sidebar-widgets-footer-widget-4-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu4-bg-color": "", "header-menu4-color": "", "header-menu4-h-bg-color": "", "header-menu4-h-color": "", "header-menu4-a-bg-color": "", "header-menu4-a-color": "", "header-menu4-bg-obj-responsive": { "desktop": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "header-menu4-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu4-h-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu4-h-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu4-a-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu4-a-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu4-menu-hover-animation": "", "header-menu4-submenu-container-animation": "", "section-hb-menu-4-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu4-menu-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu4-submenu-item-border": false, "header-menu4-submenu-item-b-size": "1", "header-menu4-submenu-item-b-color": "#eaeaea", "header-menu4-submenu-border-radius": "", "header-menu4-submenu-top-offset": "", "header-menu4-submenu-width": "", "header-menu4-submenu-border": { "top": 2, "bottom": 0, "left": 0, "right": 0 }, "header-menu4-menu-stack-on-mobile": true, "header-menu4-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu4-font-weight": "inherit", "header-menu4-font-family": "inherit", "header-menu4-text-transform": "", "header-menu4-line-height": "", "section-hb-divider-4-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-divider-4-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button5-text": "Button", "header-button5-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "header-button5-font-family": "inherit", "header-button5-font-weight": "inherit", "header-button5-text-transform": "", "header-button5-line-height": "", "header-button5-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button5-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button5-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button5-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button5-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button5-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button5-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "header-button5-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button5-border-radius": "", "section-hb-button-5-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-hb-button-5-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sticky-header-button5-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button5-text": "Button", "footer-button5-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "footer-button5-font-family": "inherit", "footer-button5-font-weight": "inherit", "footer-button5-text-transform": "", "footer-button5-line-height": "", "footer-button5-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button5-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button5-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button5-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button5-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button5-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button5-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "footer-button5-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button5-border-radius": "", "footer-button-5-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-button-5-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-button-5-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-html-5": "Insert HTML text here.", "header-html-5color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-5link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-5link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-hb-html-5": { "desktop": 15, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-weight-section-hb-html-5": "inherit", "font-family-section-hb-html-5": "inherit", "line-height-section-hb-html-5": "", "text-transform-section-hb-html-5": "", "section-hb-html-5-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-5": "Insert HTML text here.", "footer-html-5color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-5link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-5link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-fb-html-5": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-5-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "font-weight-section-fb-html-5": "inherit", "font-family-section-fb-html-5": "inherit", "text-transform-section-fb-html-5": "", "line-height-section-fb-html-5": "", "section-fb-html-5-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-5-space": { "desktop": "", "tablet": "", "mobile": "" }, "header-social-5-bg-space": "", "header-social-5-size": { "desktop": 18, "tablet": "", "mobile": "" }, "header-social-5-radius": "", "header-social-5-color": "", "header-social-5-h-color": "", "header-social-5-bg-color": "", "header-social-5-bg-h-color": "", "header-social-5-label-toggle": false, "header-social-5-color-type": "custom", "font-size-section-hb-social-icons-5": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-icons-5": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "section-hb-social-icons-5-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-5-space": { "desktop": "", "tablet": "", "mobile": "" }, "footer-social-5-bg-space": "", "footer-social-5-size": { "desktop": 18, "tablet": "", "mobile": "" }, "footer-social-5-radius": "", "footer-social-5-color": "", "footer-social-5-h-color": "", "footer-social-5-bg-color": "", "footer-social-5-bg-h-color": "", "footer-social-5-label-toggle": false, "footer-social-5-color-type": "custom", "font-size-section-fb-social-icons-5": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-icons-5": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "footer-social-5-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-social-icons-5-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-5-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-5-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-5-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-5-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-5-font-family": "inherit", "header-widget-5-font-weight": "inherit", "header-widget-5-text-transform": "", "header-widget-5-line-height": "", "header-widget-5-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-5-content-font-family": "inherit", "header-widget-5-content-font-weight": "inherit", "header-widget-5-content-text-transform": "", "header-widget-5-content-line-height": "", "header-widget-5-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sidebar-widgets-header-widget-5-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-5-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-5-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-5-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-5-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-5-font-family": "inherit", "footer-widget-5-font-weight": "inherit", "footer-widget-5-text-transform": "", "footer-widget-5-line-height": "", "footer-widget-5-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-5-content-font-family": "inherit", "footer-widget-5-content-font-weight": "inherit", "footer-widget-5-content-text-transform": "", "footer-widget-5-content-line-height": "", "footer-widget-5-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-alignment-5": { "desktop": "left", "tablet": "center", "mobile": "center" }, "sidebar-widgets-footer-widget-5-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu5-bg-color": "", "header-menu5-color": "", "header-menu5-h-bg-color": "", "header-menu5-h-color": "", "header-menu5-a-bg-color": "", "header-menu5-a-color": "", "header-menu5-bg-obj-responsive": { "desktop": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "header-menu5-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu5-h-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu5-h-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu5-a-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu5-a-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu5-menu-hover-animation": "", "header-menu5-submenu-container-animation": "", "section-hb-menu-5-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu5-menu-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu5-submenu-item-border": false, "header-menu5-submenu-item-b-size": "1", "header-menu5-submenu-item-b-color": "#eaeaea", "header-menu5-submenu-border-radius": "", "header-menu5-submenu-top-offset": "", "header-menu5-submenu-width": "", "header-menu5-submenu-border": { "top": 2, "bottom": 0, "left": 0, "right": 0 }, "header-menu5-menu-stack-on-mobile": true, "header-menu5-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu5-font-weight": "inherit", "header-menu5-font-family": "inherit", "header-menu5-text-transform": "", "header-menu5-line-height": "", "section-hb-divider-5-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-divider-5-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button6-text": "Button", "header-button6-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "header-button6-font-family": "inherit", "header-button6-font-weight": "inherit", "header-button6-text-transform": "", "header-button6-line-height": "", "header-button6-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button6-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button6-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button6-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button6-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button6-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button6-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "header-button6-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button6-border-radius": "", "section-hb-button-6-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-hb-button-6-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sticky-header-button6-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button6-text": "Button", "footer-button6-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "footer-button6-font-family": "inherit", "footer-button6-font-weight": "inherit", "footer-button6-text-transform": "", "footer-button6-line-height": "", "footer-button6-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button6-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button6-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button6-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button6-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button6-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button6-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "footer-button6-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button6-border-radius": "", "footer-button-6-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-button-6-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-button-6-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-html-6": "Insert HTML text here.", "header-html-6color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-6link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-6link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-hb-html-6": { "desktop": 15, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-weight-section-hb-html-6": "inherit", "font-family-section-hb-html-6": "inherit", "line-height-section-hb-html-6": "", "text-transform-section-hb-html-6": "", "section-hb-html-6-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-6": "Insert HTML text here.", "footer-html-6color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-6link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-6link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-fb-html-6": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-6-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "font-weight-section-fb-html-6": "inherit", "font-family-section-fb-html-6": "inherit", "text-transform-section-fb-html-6": "", "line-height-section-fb-html-6": "", "section-fb-html-6-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-6-space": { "desktop": "", "tablet": "", "mobile": "" }, "header-social-6-bg-space": "", "header-social-6-size": { "desktop": 18, "tablet": "", "mobile": "" }, "header-social-6-radius": "", "header-social-6-color": "", "header-social-6-h-color": "", "header-social-6-bg-color": "", "header-social-6-bg-h-color": "", "header-social-6-label-toggle": false, "header-social-6-color-type": "custom", "font-size-section-hb-social-icons-6": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-icons-6": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "section-hb-social-icons-6-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-6-space": { "desktop": "", "tablet": "", "mobile": "" }, "footer-social-6-bg-space": "", "footer-social-6-size": { "desktop": 18, "tablet": "", "mobile": "" }, "footer-social-6-radius": "", "footer-social-6-color": "", "footer-social-6-h-color": "", "footer-social-6-bg-color": "", "footer-social-6-bg-h-color": "", "footer-social-6-label-toggle": false, "footer-social-6-color-type": "custom", "font-size-section-fb-social-icons-6": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-icons-6": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "footer-social-6-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-social-icons-6-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-6-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-6-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-6-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-6-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-6-font-family": "inherit", "header-widget-6-font-weight": "inherit", "header-widget-6-text-transform": "", "header-widget-6-line-height": "", "header-widget-6-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-6-content-font-family": "inherit", "header-widget-6-content-font-weight": "inherit", "header-widget-6-content-text-transform": "", "header-widget-6-content-line-height": "", "header-widget-6-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sidebar-widgets-header-widget-6-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-6-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-6-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-6-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-6-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-6-font-family": "inherit", "footer-widget-6-font-weight": "inherit", "footer-widget-6-text-transform": "", "footer-widget-6-line-height": "", "footer-widget-6-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-6-content-font-family": "inherit", "footer-widget-6-content-font-weight": "inherit", "footer-widget-6-content-text-transform": "", "footer-widget-6-content-line-height": "", "footer-widget-6-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-alignment-6": { "desktop": "left", "tablet": "center", "mobile": "center" }, "sidebar-widgets-footer-widget-6-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu6-bg-color": "", "header-menu6-color": "", "header-menu6-h-bg-color": "", "header-menu6-h-color": "", "header-menu6-a-bg-color": "", "header-menu6-a-color": "", "header-menu6-bg-obj-responsive": { "desktop": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "header-menu6-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu6-h-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu6-h-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu6-a-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu6-a-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu6-menu-hover-animation": "", "header-menu6-submenu-container-animation": "", "section-hb-menu-6-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu6-menu-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu6-submenu-item-border": false, "header-menu6-submenu-item-b-size": "1", "header-menu6-submenu-item-b-color": "#eaeaea", "header-menu6-submenu-border-radius": "", "header-menu6-submenu-top-offset": "", "header-menu6-submenu-width": "", "header-menu6-submenu-border": { "top": 2, "bottom": 0, "left": 0, "right": 0 }, "header-menu6-menu-stack-on-mobile": true, "header-menu6-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu6-font-weight": "inherit", "header-menu6-font-family": "inherit", "header-menu6-text-transform": "", "header-menu6-line-height": "", "section-hb-divider-6-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-divider-6-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button7-text": "Button", "header-button7-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "header-button7-font-family": "inherit", "header-button7-font-weight": "inherit", "header-button7-text-transform": "", "header-button7-line-height": "", "header-button7-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button7-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button7-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button7-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button7-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button7-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button7-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "header-button7-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button7-border-radius": "", "section-hb-button-7-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-hb-button-7-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sticky-header-button7-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button7-text": "Button", "footer-button7-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "footer-button7-font-family": "inherit", "footer-button7-font-weight": "inherit", "footer-button7-text-transform": "", "footer-button7-line-height": "", "footer-button7-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button7-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button7-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button7-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button7-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button7-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button7-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "footer-button7-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button7-border-radius": "", "footer-button-7-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-button-7-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-button-7-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-html-7": "Insert HTML text here.", "header-html-7color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-7link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-7link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-hb-html-7": { "desktop": 15, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-weight-section-hb-html-7": "inherit", "font-family-section-hb-html-7": "inherit", "line-height-section-hb-html-7": "", "text-transform-section-hb-html-7": "", "section-hb-html-7-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-7": "Insert HTML text here.", "footer-html-7color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-7link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-7link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-fb-html-7": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-7-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "font-weight-section-fb-html-7": "inherit", "font-family-section-fb-html-7": "inherit", "text-transform-section-fb-html-7": "", "line-height-section-fb-html-7": "", "section-fb-html-7-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-7-space": { "desktop": "", "tablet": "", "mobile": "" }, "header-social-7-bg-space": "", "header-social-7-size": { "desktop": 18, "tablet": "", "mobile": "" }, "header-social-7-radius": "", "header-social-7-color": "", "header-social-7-h-color": "", "header-social-7-bg-color": "", "header-social-7-bg-h-color": "", "header-social-7-label-toggle": false, "header-social-7-color-type": "custom", "font-size-section-hb-social-icons-7": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-icons-7": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "section-hb-social-icons-7-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-7-space": { "desktop": "", "tablet": "", "mobile": "" }, "footer-social-7-bg-space": "", "footer-social-7-size": { "desktop": 18, "tablet": "", "mobile": "" }, "footer-social-7-radius": "", "footer-social-7-color": "", "footer-social-7-h-color": "", "footer-social-7-bg-color": "", "footer-social-7-bg-h-color": "", "footer-social-7-label-toggle": false, "footer-social-7-color-type": "custom", "font-size-section-fb-social-icons-7": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-icons-7": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "footer-social-7-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-social-icons-7-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-7-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-7-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-7-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-7-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-7-font-family": "inherit", "header-widget-7-font-weight": "inherit", "header-widget-7-text-transform": "", "header-widget-7-line-height": "", "header-widget-7-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-7-content-font-family": "inherit", "header-widget-7-content-font-weight": "inherit", "header-widget-7-content-text-transform": "", "header-widget-7-content-line-height": "", "header-widget-7-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sidebar-widgets-header-widget-7-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-7-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-7-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-7-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-7-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-7-font-family": "inherit", "footer-widget-7-font-weight": "inherit", "footer-widget-7-text-transform": "", "footer-widget-7-line-height": "", "footer-widget-7-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-7-content-font-family": "inherit", "footer-widget-7-content-font-weight": "inherit", "footer-widget-7-content-text-transform": "", "footer-widget-7-content-line-height": "", "footer-widget-7-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-alignment-7": { "desktop": "left", "tablet": "center", "mobile": "center" }, "sidebar-widgets-footer-widget-7-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu7-bg-color": "", "header-menu7-color": "", "header-menu7-h-bg-color": "", "header-menu7-h-color": "", "header-menu7-a-bg-color": "", "header-menu7-a-color": "", "header-menu7-bg-obj-responsive": { "desktop": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "header-menu7-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu7-h-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu7-h-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu7-a-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu7-a-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu7-menu-hover-animation": "", "header-menu7-submenu-container-animation": "", "section-hb-menu-7-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu7-menu-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu7-submenu-item-border": false, "header-menu7-submenu-item-b-size": "1", "header-menu7-submenu-item-b-color": "#eaeaea", "header-menu7-submenu-border-radius": "", "header-menu7-submenu-top-offset": "", "header-menu7-submenu-width": "", "header-menu7-submenu-border": { "top": 2, "bottom": 0, "left": 0, "right": 0 }, "header-menu7-menu-stack-on-mobile": true, "header-menu7-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu7-font-weight": "inherit", "header-menu7-font-family": "inherit", "header-menu7-text-transform": "", "header-menu7-line-height": "", "section-hb-divider-7-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-divider-7-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button8-text": "Button", "header-button8-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "header-button8-font-family": "inherit", "header-button8-font-weight": "inherit", "header-button8-text-transform": "", "header-button8-line-height": "", "header-button8-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button8-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button8-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button8-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button8-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button8-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button8-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "header-button8-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button8-border-radius": "", "section-hb-button-8-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-hb-button-8-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sticky-header-button8-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button8-text": "Button", "footer-button8-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "footer-button8-font-family": "inherit", "footer-button8-font-weight": "inherit", "footer-button8-text-transform": "", "footer-button8-line-height": "", "footer-button8-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button8-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button8-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button8-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button8-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button8-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button8-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "footer-button8-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button8-border-radius": "", "footer-button-8-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-button-8-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-button-8-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-html-8": "Insert HTML text here.", "header-html-8color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-8link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-8link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-hb-html-8": { "desktop": 15, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-weight-section-hb-html-8": "inherit", "font-family-section-hb-html-8": "inherit", "line-height-section-hb-html-8": "", "text-transform-section-hb-html-8": "", "section-hb-html-8-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-8": "Insert HTML text here.", "footer-html-8color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-8link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-8link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-fb-html-8": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-8-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "font-weight-section-fb-html-8": "inherit", "font-family-section-fb-html-8": "inherit", "text-transform-section-fb-html-8": "", "line-height-section-fb-html-8": "", "section-fb-html-8-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-8-space": { "desktop": "", "tablet": "", "mobile": "" }, "header-social-8-bg-space": "", "header-social-8-size": { "desktop": 18, "tablet": "", "mobile": "" }, "header-social-8-radius": "", "header-social-8-color": "", "header-social-8-h-color": "", "header-social-8-bg-color": "", "header-social-8-bg-h-color": "", "header-social-8-label-toggle": false, "header-social-8-color-type": "custom", "font-size-section-hb-social-icons-8": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-icons-8": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "section-hb-social-icons-8-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-8-space": { "desktop": "", "tablet": "", "mobile": "" }, "footer-social-8-bg-space": "", "footer-social-8-size": { "desktop": 18, "tablet": "", "mobile": "" }, "footer-social-8-radius": "", "footer-social-8-color": "", "footer-social-8-h-color": "", "footer-social-8-bg-color": "", "footer-social-8-bg-h-color": "", "footer-social-8-label-toggle": false, "footer-social-8-color-type": "custom", "font-size-section-fb-social-icons-8": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-icons-8": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "footer-social-8-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-social-icons-8-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-8-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-8-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-8-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-8-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-8-font-family": "inherit", "header-widget-8-font-weight": "inherit", "header-widget-8-text-transform": "", "header-widget-8-line-height": "", "header-widget-8-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-8-content-font-family": "inherit", "header-widget-8-content-font-weight": "inherit", "header-widget-8-content-text-transform": "", "header-widget-8-content-line-height": "", "header-widget-8-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sidebar-widgets-header-widget-8-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-8-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-8-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-8-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-8-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-8-font-family": "inherit", "footer-widget-8-font-weight": "inherit", "footer-widget-8-text-transform": "", "footer-widget-8-line-height": "", "footer-widget-8-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-8-content-font-family": "inherit", "footer-widget-8-content-font-weight": "inherit", "footer-widget-8-content-text-transform": "", "footer-widget-8-content-line-height": "", "footer-widget-8-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-alignment-8": { "desktop": "left", "tablet": "center", "mobile": "center" }, "sidebar-widgets-footer-widget-8-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu8-bg-color": "", "header-menu8-color": "", "header-menu8-h-bg-color": "", "header-menu8-h-color": "", "header-menu8-a-bg-color": "", "header-menu8-a-color": "", "header-menu8-bg-obj-responsive": { "desktop": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "header-menu8-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu8-h-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu8-h-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu8-a-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu8-a-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu8-menu-hover-animation": "", "header-menu8-submenu-container-animation": "", "section-hb-menu-8-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu8-menu-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu8-submenu-item-border": false, "header-menu8-submenu-item-b-size": "1", "header-menu8-submenu-item-b-color": "#eaeaea", "header-menu8-submenu-border-radius": "", "header-menu8-submenu-top-offset": "", "header-menu8-submenu-width": "", "header-menu8-submenu-border": { "top": 2, "bottom": 0, "left": 0, "right": 0 }, "header-menu8-menu-stack-on-mobile": true, "header-menu8-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu8-font-weight": "inherit", "header-menu8-font-family": "inherit", "header-menu8-text-transform": "", "header-menu8-line-height": "", "section-hb-divider-8-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-divider-8-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button9-text": "Button", "header-button9-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "header-button9-font-family": "inherit", "header-button9-font-weight": "inherit", "header-button9-text-transform": "", "header-button9-line-height": "", "header-button9-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button9-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button9-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button9-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button9-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button9-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button9-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "header-button9-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button9-border-radius": "", "section-hb-button-9-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-hb-button-9-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sticky-header-button9-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button9-text": "Button", "footer-button9-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "footer-button9-font-family": "inherit", "footer-button9-font-weight": "inherit", "footer-button9-text-transform": "", "footer-button9-line-height": "", "footer-button9-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button9-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button9-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button9-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button9-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button9-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button9-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "footer-button9-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button9-border-radius": "", "footer-button-9-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-button-9-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-button-9-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-html-9": "Insert HTML text here.", "header-html-9color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-9link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-9link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-hb-html-9": { "desktop": 15, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-weight-section-hb-html-9": "inherit", "font-family-section-hb-html-9": "inherit", "line-height-section-hb-html-9": "", "text-transform-section-hb-html-9": "", "section-hb-html-9-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-9": "Insert HTML text here.", "footer-html-9color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-9link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-9link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-fb-html-9": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-9-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "font-weight-section-fb-html-9": "inherit", "font-family-section-fb-html-9": "inherit", "text-transform-section-fb-html-9": "", "line-height-section-fb-html-9": "", "section-fb-html-9-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-9-space": { "desktop": "", "tablet": "", "mobile": "" }, "header-social-9-bg-space": "", "header-social-9-size": { "desktop": 18, "tablet": "", "mobile": "" }, "header-social-9-radius": "", "header-social-9-color": "", "header-social-9-h-color": "", "header-social-9-bg-color": "", "header-social-9-bg-h-color": "", "header-social-9-label-toggle": false, "header-social-9-color-type": "custom", "font-size-section-hb-social-icons-9": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-icons-9": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "section-hb-social-icons-9-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-9-space": { "desktop": "", "tablet": "", "mobile": "" }, "footer-social-9-bg-space": "", "footer-social-9-size": { "desktop": 18, "tablet": "", "mobile": "" }, "footer-social-9-radius": "", "footer-social-9-color": "", "footer-social-9-h-color": "", "footer-social-9-bg-color": "", "footer-social-9-bg-h-color": "", "footer-social-9-label-toggle": false, "footer-social-9-color-type": "custom", "font-size-section-fb-social-icons-9": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-icons-9": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "footer-social-9-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-social-icons-9-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-9-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-9-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-9-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-9-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-9-font-family": "inherit", "header-widget-9-font-weight": "inherit", "header-widget-9-text-transform": "", "header-widget-9-line-height": "", "header-widget-9-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-9-content-font-family": "inherit", "header-widget-9-content-font-weight": "inherit", "header-widget-9-content-text-transform": "", "header-widget-9-content-line-height": "", "header-widget-9-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sidebar-widgets-header-widget-9-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-9-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-9-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-9-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-9-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-9-font-family": "inherit", "footer-widget-9-font-weight": "inherit", "footer-widget-9-text-transform": "", "footer-widget-9-line-height": "", "footer-widget-9-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-9-content-font-family": "inherit", "footer-widget-9-content-font-weight": "inherit", "footer-widget-9-content-text-transform": "", "footer-widget-9-content-line-height": "", "footer-widget-9-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-alignment-9": { "desktop": "left", "tablet": "center", "mobile": "center" }, "sidebar-widgets-footer-widget-9-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu9-bg-color": "", "header-menu9-color": "", "header-menu9-h-bg-color": "", "header-menu9-h-color": "", "header-menu9-a-bg-color": "", "header-menu9-a-color": "", "header-menu9-bg-obj-responsive": { "desktop": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "header-menu9-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu9-h-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu9-h-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu9-a-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu9-a-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu9-menu-hover-animation": "", "header-menu9-submenu-container-animation": "", "section-hb-menu-9-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu9-menu-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu9-submenu-item-border": false, "header-menu9-submenu-item-b-size": "1", "header-menu9-submenu-item-b-color": "#eaeaea", "header-menu9-submenu-border-radius": "", "header-menu9-submenu-top-offset": "", "header-menu9-submenu-width": "", "header-menu9-submenu-border": { "top": 2, "bottom": 0, "left": 0, "right": 0 }, "header-menu9-menu-stack-on-mobile": true, "header-menu9-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu9-font-weight": "inherit", "header-menu9-font-family": "inherit", "header-menu9-text-transform": "", "header-menu9-line-height": "", "section-hb-divider-9-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-divider-9-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button10-text": "Button", "header-button10-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "header-button10-font-family": "inherit", "header-button10-font-weight": "inherit", "header-button10-text-transform": "", "header-button10-line-height": "", "header-button10-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button10-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button10-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button10-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button10-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button10-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-button10-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "header-button10-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-button10-border-radius": "", "section-hb-button-10-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-hb-button-10-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sticky-header-button10-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button10-text": "Button", "footer-button10-link-option": { "url": "https://www.wpastra.com", "new_tab": false, "link_rel": "" }, "footer-button10-font-family": "inherit", "footer-button10-font-weight": "inherit", "footer-button10-text-transform": "", "footer-button10-line-height": "", "footer-button10-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button10-text-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button10-back-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button10-text-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button10-back-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button10-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-button10-border-size": { "top": "", "right": "", "bottom": "", "left": "" }, "footer-button10-border-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-button10-border-radius": "", "footer-button-10-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-button-10-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-button-10-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-html-10": "Insert HTML text here.", "header-html-10color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-10link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-html-10link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-hb-html-10": { "desktop": 15, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-weight-section-hb-html-10": "inherit", "font-family-section-hb-html-10": "inherit", "line-height-section-hb-html-10": "", "text-transform-section-hb-html-10": "", "section-hb-html-10-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-10": "Insert HTML text here.", "footer-html-10color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-10link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-html-10link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "font-size-section-fb-html-10": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-html-10-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "font-weight-section-fb-html-10": "inherit", "font-family-section-fb-html-10": "inherit", "text-transform-section-fb-html-10": "", "line-height-section-fb-html-10": "", "section-fb-html-10-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-10-space": { "desktop": "", "tablet": "", "mobile": "" }, "header-social-10-bg-space": "", "header-social-10-size": { "desktop": 18, "tablet": "", "mobile": "" }, "header-social-10-radius": "", "header-social-10-color": "", "header-social-10-h-color": "", "header-social-10-bg-color": "", "header-social-10-bg-h-color": "", "header-social-10-label-toggle": false, "header-social-10-color-type": "custom", "font-size-section-hb-social-icons-10": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-social-icons-10": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "section-hb-social-icons-10-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-10-space": { "desktop": "", "tablet": "", "mobile": "" }, "footer-social-10-bg-space": "", "footer-social-10-size": { "desktop": 18, "tablet": "", "mobile": "" }, "footer-social-10-radius": "", "footer-social-10-color": "", "footer-social-10-h-color": "", "footer-social-10-bg-color": "", "footer-social-10-bg-h-color": "", "footer-social-10-label-toggle": false, "footer-social-10-color-type": "custom", "font-size-section-fb-social-icons-10": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-social-icons-10": { "items": [ { "id": "facebook", "enabled": true, "source": "icon", "url": "", "color": "#557dbc", "background": "transparent", "icon": "facebook", "label": "Facebook" }, { "id": "twitter", "enabled": true, "source": "icon", "url": "", "color": "#7acdee", "background": "transparent", "icon": "twitter", "label": "Twitter" }, { "id": "instagram", "enabled": true, "source": "icon", "url": "", "color": "#8a3ab9", "background": "transparent", "icon": "instagram", "label": "Instagram" } ] }, "footer-social-10-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-fb-social-icons-10-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-10-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-10-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-10-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-10-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-widget-10-font-family": "inherit", "header-widget-10-font-weight": "inherit", "header-widget-10-text-transform": "", "header-widget-10-line-height": "", "header-widget-10-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-widget-10-content-font-family": "inherit", "header-widget-10-content-font-weight": "inherit", "header-widget-10-content-text-transform": "", "header-widget-10-content-line-height": "", "header-widget-10-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sidebar-widgets-header-widget-10-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-10-title-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-10-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-10-link-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-10-link-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "footer-widget-10-font-family": "inherit", "footer-widget-10-font-weight": "inherit", "footer-widget-10-text-transform": "", "footer-widget-10-line-height": "", "footer-widget-10-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-10-content-font-family": "inherit", "footer-widget-10-content-font-weight": "inherit", "footer-widget-10-content-text-transform": "", "footer-widget-10-content-line-height": "", "footer-widget-10-content-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-widget-alignment-10": { "desktop": "left", "tablet": "center", "mobile": "center" }, "sidebar-widgets-footer-widget-10-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu10-bg-color": "", "header-menu10-color": "", "header-menu10-h-bg-color": "", "header-menu10-h-color": "", "header-menu10-a-bg-color": "", "header-menu10-a-color": "", "header-menu10-bg-obj-responsive": { "desktop": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "header-menu10-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu10-h-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu10-h-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu10-a-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu10-a-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-menu10-menu-hover-animation": "", "header-menu10-submenu-container-animation": "", "section-hb-menu-10-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu10-menu-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu10-submenu-item-border": false, "header-menu10-submenu-item-b-size": "1", "header-menu10-submenu-item-b-color": "#eaeaea", "header-menu10-submenu-border-radius": "", "header-menu10-submenu-top-offset": "", "header-menu10-submenu-width": "", "header-menu10-submenu-border": { "top": 2, "bottom": 0, "left": 0, "right": 0 }, "header-menu10-menu-stack-on-mobile": true, "header-menu10-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-menu10-font-weight": "inherit", "header-menu10-font-family": "inherit", "header-menu10-text-transform": "", "header-menu10-line-height": "", "section-hb-divider-10-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "section-fb-divider-10-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "sticky-header-on-devices": "desktop", "sticky-header-style": "none", "footer-desktop-items": { "above": { "above_1": [], "above_2": [], "above_3": [], "above_4": [], "above_5": [] }, "primary": { "primary_1": [], "primary_2": [], "primary_3": [], "primary_4": [], "primary_5": [] }, "below": { "below_1": [ "copyright" ], "below_2": [], "below_3": [], "below_4": [], "below_5": [] } }, "hba-footer-height": 60, "hba-footer-column": "2", "hba-footer-layout": { "desktop": "2-equal", "tablet": "2-equal", "mobile": "full" }, "hba-footer-bg-obj-responsive": { "desktop": { "background-color": "#eeeeee", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "hbb-footer-bg-obj-responsive": { "desktop": { "background-color": "#eeeeee", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "hb-footer-bg-obj-responsive": { "desktop": { "background-color": "#f9f9f9", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "section-header-builder-layout-margin": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "hbb-footer-height": 80, "hbb-footer-column": "1", "hbb-footer-layout": { "desktop": "full", "tablet": "full", "mobile": "full" }, "hba-footer-layout-width": "content", "hb-footer-layout-width": "content", "hbb-footer-layout-width": "content", "hba-footer-vertical-alignment": "flex-start", "hb-footer-vertical-alignment": "flex-start", "hbb-footer-vertical-alignment": "flex-start", "footer-bg-obj-responsive": { "desktop": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "hb-footer-column": "3", "hb-footer-separator": 1, "hb-footer-bottom-border-color": "#e6e6e6", "hb-footer-layout": { "desktop": "3-equal", "tablet": "3-equal", "mobile": "full" }, "hb-footer-main-sep": 1, "hb-footer-main-sep-color": "#e6e6e6", "footer-copyright-editor": "Copyright [copyright] [current_year] [site_title] | Powered by [theme_author]", "footer-copyright-color": "", "line-height-section-footer-copyright": "", "footer-copyright-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "font-size-section-footer-copyright": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "font-weight-section-footer-copyright": "inherit", "font-family-section-footer-copyright": "inherit", "text-transform-section-footer-copyright": "", "footer-menu-alignment": { "desktop": "center", "tablet": "center", "mobile": "center" }, "section-below-footer-builder-padding": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "", "right": "", "bottom": "", "left": "" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-search-icon-space": { "desktop": 18, "tablet": 18, "mobile": 18 }, "header-search-icon-color": { "desktop": "", "tablet": "", "mobile": "" }, "transparent-header-social-icons-color": { "desktop": "", "tablet": "", "mobile": "" }, "transparent-header-social-icons-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "transparent-header-social-icons-bg-color": { "desktop": "", "tablet": "", "mobile": "" }, "transparent-header-social-icons-bg-h-color": { "desktop": "", "tablet": "", "mobile": "" }, "transparent-header-html-text-color": "", "transparent-header-html-link-color": "", "transparent-header-html-link-h-color": "", "transparent-header-widget-title-color": "", "transparent-header-widget-content-color": "", "transparent-header-widget-link-color": "", "transparent-header-widget-link-h-color": "", "transparent-header-button-text-color": "", "transparent-header-button-text-h-color": "", "transparent-header-button-bg-color": "", "transparent-header-button-bg-h-color": "", "off-canvas-layout": "side-panel", "off-canvas-slide": "right", "header-builder-menu-toggle-target": "icon", "header-offcanvas-content-alignment": "flex-start", "off-canvas-background": { "background-color": "#ffffff", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "off-canvas-close-color": "#3a3a3a", "mobile-header-type": "dropdown", "off-canvas-inner-spacing": "", "footer-menu-layout": { "desktop": "horizontal", "tablet": "vertical", "mobile": "vertical" }, "footer-menu-bg-obj-responsive": { "desktop": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "footer-menu-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "footer-menu-h-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "footer-menu-h-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "footer-menu-a-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "footer-menu-a-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "footer-menu-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "footer-menu-font-weight": "inherit", "footer-menu-font-family": "inherit", "footer-menu-text-transform": "", "footer-menu-line-height": "", "footer-main-menu-spacing": { "desktop": { "top": "", "right": "", "bottom": "", "left": "" }, "tablet": { "top": "0", "right": "20", "bottom": "0", "left": "20" }, "mobile": { "top": "", "right": "", "bottom": "", "left": "" }, "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-trigger-icon": "menu", "mobile-header-toggle-icon-size": 20, "mobile-header-toggle-btn-border-size": { "top": 1, "right": 1, "bottom": 1, "left": 1 }, "mobile-header-toggle-border-radius": 2, "mobile-header-label-font-family": "inherit", "mobile-header-label-font-weight": "inherit", "mobile-header-label-text-transform": "", "mobile-header-label-line-height": "", "mobile-header-label-font-size": "", "global-color-palette": { "palette": [ "#060097", "#c10fff", "#1e293b", "#67768e", "#f9f6fe", "#FFFFFF", "#F2F5F7", "#ffcd57", "#000000" ], "flag": false }, "header-mobile-menu-bg-color": "", "header-mobile-menu-color": "", "header-mobile-menu-h-bg-color": "", "header-mobile-menu-h-color": "", "header-mobile-menu-a-bg-color": "", "header-mobile-menu-a-color": "", "header-mobile-menu-bg-obj-responsive": { "desktop": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "tablet": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" }, "mobile": { "background-color": "", "background-image": "", "background-repeat": "repeat", "background-position": "center center", "background-size": "auto", "background-attachment": "scroll" } }, "header-mobile-menu-color-responsive": { "desktop": "", "tablet": "var(--ast-global-color-2)", "mobile": "" }, "header-mobile-menu-h-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-mobile-menu-h-color-responsive": { "desktop": "", "tablet": "var(--ast-global-color-2)", "mobile": "" }, "header-mobile-menu-a-bg-color-responsive": { "desktop": "", "tablet": "", "mobile": "" }, "header-mobile-menu-a-color-responsive": { "desktop": "", "tablet": "var(--ast-global-color-0)", "mobile": "" }, "header-mobile-menu-submenu-container-animation": "fade", "header-mobile-menu-submenu-item-border": true, "header-mobile-menu-submenu-item-b-size": "1", "header-mobile-menu-submenu-item-b-color": "#eaeaea", "header-mobile-menu-submenu-border": { "top": 2, "bottom": 0, "left": 0, "right": 0 }, "header-mobile-menu-font-size": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-mobile-menu-font-weight": "inherit", "header-mobile-menu-font-family": "inherit", "header-mobile-menu-text-transform": "", "header-mobile-menu-line-height": "", "woo-header-cart-click-action": "default", "woo-slide-in-cart-width": { "desktop": 460, "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "woo-header-cart-icon-total-label-position": { "desktop": "", "tablet": "", "mobile": "" }, "header-woo-cart-icon-size": { "desktop": "", "tablet": "", "mobile": "" }, "woo-header-cart-icon": "default", "woo-header-cart-icon-style": "outline", "woo-desktop-cart-flyout-direction": "right", "header-woo-cart-icon-color": "", "transparent-header-woo-cart-icon-color": "", "header-woo-cart-icon-hover-color": "", "woo-header-cart-border-width": 2, "woo-header-cart-icon-radius": 3, "woo-header-cart-badge-display": true, "woo-header-cart-label-display": "", "header-woo-cart-text-color": "", "header-woo-cart-link-color": "", "header-woo-cart-background-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-woo-cart-background-hover-color": { "desktop": "", "tablet": "", "mobile": "" }, "header-woo-cart-separator-color": "", "header-woo-cart-link-hover-color": "", "header-woo-cart-btn-text-color": "", "header-woo-cart-btn-background-color": "", "header-woo-cart-btn-text-hover-color": "", "header-woo-cart-btn-bg-hover-color": "", "header-woo-checkout-btn-text-color": "", "header-woo-checkout-btn-background-color": "", "header-woo-checkout-btn-text-hover-color": "", "header-woo-checkout-btn-bg-hover-color": "", "edd-header-cart-icon-style": "outline", "edd-header-cart-icon-color": "", "edd-header-cart-icon-radius": 3, "transparent-header-edd-cart-icon-color": "", "edd-header-cart-total-display": true, "edd-header-cart-title-display": true, "header-edd-cart-text-color": "", "header-edd-cart-link-color": "", "header-edd-cart-background-color": "", "header-edd-cart-separator-color": "", "header-edd-checkout-btn-text-color": "", "header-edd-checkout-btn-background-color": "", "header-edd-checkout-btn-text-hover-color": "", "header-edd-checkout-btn-bg-hover-color": "", "header-account-type": "default", "header-account-login-style": "icon", "header-account-action-type": "link", "header-account-link-type": "default", "header-account-logout-style": "icon", "header-account-logged-out-text": "Log In", "header-account-logged-in-text": "My Account", "header-account-logout-action": "link", "header-account-image-width": { "desktop": "40", "tablet": "", "mobile": "" }, "header-account-icon-size": { "desktop": 18, "tablet": 18, "mobile": 18 }, "header-account-icon-color": "", "header-account-login-link": { "url": "", "new_tab": false, "link_rel": "" }, "header-account-logout-link": { "url": "https://websitedemos.net/wp-preview/wp-login.php", "new_tab": false, "link_rel": "" }, "font-size-section-header-account": { "desktop": "", "tablet": "", "mobile": "", "desktop-unit": "px", "tablet-unit": "px", "mobile-unit": "px" }, "header-account-type-text-color": "", "header-account-woo-menu": false, "cloned-component-track": { "header-button": 2, "footer-button": 2, "header-html": 2, "footer-html": 2, "header-menu": 2, "header-widget": 4, "footer-widget": 4, "header-social-icons": 1, "footer-social-icons": 1, "header-divider": 0, "footer-divider": 0, "removed-items": [] }, "woo-desktop-cart-flyout-width": 460, "ast-callback-notice-header-transparent-header-logo": "", "ast-callback-notice-header-transparent-header-logo-link": "", "ast-callback-notice-header-transparent-meta-enabled": "", "ast-callback-notice-header-transparent-header-meta-link": "", "_astra_pb_compatibility_completed": true, "headings-font-variant": "600", "mobile-header-toggle-btn-color": "var(--ast-global-color-5)", "astra-old-global-sidebar-default": false, "spectra-gutenberg-compat-css": false, "is_theme_queue_running": false }, "astra-color-palettes": { "currentPalette": "palette_1", "palettes": { "palette_1": [ "#060097", "#c10fff", "#1e293b", "#67768e", "#f9f6fe", "#FFFFFF", "#F2F5F7", "#ffcd57", "#000000" ], "palette_2": [ "#0170B9", "#3a3a3a", "#3a3a3a", "#4B4F58", "#F5F5F5", "#FFFFFF", "#F2F5F7", "#424242", "#000000" ], "palette_3": [ "#0170B9", "#3a3a3a", "#3a3a3a", "#4B4F58", "#F5F5F5", "#FFFFFF", "#F2F5F7", "#424242", "#000000" ] }, "presets": { "preset_1": [ "#0067FF", "#005EE9", "#0F172A", "#364151", "#E7F6FF", "#FFFFFF", "#D1DAE5", "#070614", "#222222" ], "preset_2": [ "#6528F7", "#5511F8", "#0F172A", "#454F5E", "#F2F0FE", "#FFFFFF", "#D8D8F5", "#0D0614", "#222222" ], "preset_3": [ "#DD183B", "#CC1939", "#0F172A", "#3A3A3A", "#FFEDE6", "#FFFFFF", "#FFD1BF", "#140609", "#222222" ], "preset_4": [ "#54B435", "#379237", "#0F172A", "#2F3B40", "#EDFBE2", "#FFFFFF", "#D5EAD8", "#0C1406", "#222222" ], "preset_5": [ "#DCA54A", "#D09A40", "#0F172A", "#4A4A4A", "#FAF5E5", "#FFFFFF", "#F0E6C5", "#141004", "#222222" ], "preset_6": [ "#FB5FAB", "#EA559D", "#0F172A", "#454F5E", "#FCEEF5", "#FFFFFF", "#FAD8E9", "#140610", "#222222" ], "preset_7": [ "#1B9C85", "#178E79", "#0F172A", "#454F5E", "#EDF6EE", "#FFFFFF", "#D4F3D7", "#06140C", "#222222" ], "preset_8": [ "#FD9800", "#E98C00", "#0F172A", "#454F5E", "#FEF9E1", "#FFFFFF", "#F9F0C8", "#141006", "#222222" ], "preset_9": [ "#FF6210", "#F15808", "#1C0D0A", "#353535", "#FEF1E4", "#FFFFFF", "#E5D7D1", "#140B06", "#222222" ], "preset_10": [ "#737880", "#65696F", "#151616", "#393C40", "#F6F6F6", "#FFFFFF", "#F1F0F0", "#232529", "#222222" ] }, "flag": false }, "astra-typography-presets": "" } } starter-content/home.php 0000644 00000035675 15006151013 0011351 0 ustar 00 <?php /** * Home starter content. * * @since 4.0.0 * @package Astra\Compatibility\Starter_Content */ // @codingStandardsIgnoreStart WordPressVIPMinimum.Security.Mustache.OutputNotation -- Required for starter content. $astra_default_home_content = '<!-- wp:cover {"minHeight":720,"minHeightUnit":"px","customGradient":"linear-gradient(35deg,rgb(6,0,151) 0%,rgb(130,4,255) 73%,rgb(193,15,255) 100%)","isDark":false,"align":"full"} --> <div class="wp-block-cover alignfull is-light" style="min-height:720px"><span aria-hidden="true" class="wp-block-cover__background has-background-dim-100 has-background-dim has-background-gradient" style="background:linear-gradient(35deg,rgb(6,0,151) 0%,rgb(130,4,255) 73%,rgb(193,15,255) 100%)"></span><div class="wp-block-cover__inner-container"><!-- wp:group {"align":"wide","layout":{"inherit":true,"type":"constrained"}} --> <div class="wp-block-group alignwide"><!-- wp:media-text {"mediaPosition":"right","mediaId":118,"mediaLink":"","mediaType":"image","mediaWidth":43,"verticalAlignment":"center"} --> <div class="wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-center" style="grid-template-columns:auto 43%"><div class="wp-block-media-text__content"><!-- wp:heading {"textAlign":"left","level":1,"textColor":"white"} --> <h1 class="has-text-align-left has-white-color has-text-color">Your Idea Matters!</h1> <!-- /wp:heading --> <!-- wp:paragraph --> <p>Pulvinar enim ac tortor nulla facilisi tristique facilisi <br>elementum sollicitudin eget lorem.</p> <!-- /wp:paragraph --> <!-- wp:buttons --> <div class="wp-block-buttons"><!-- wp:button --> <div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="#">Make a Website</a></div> <!-- /wp:button --></div> <!-- /wp:buttons --></div><figure class="wp-block-media-text__media"><img src="' . trailingslashit( get_template_directory_uri() ) . 'inc/assets/images/starter-content/hero-img.svg" alt="" class="wp-image-118 size-full"/></figure></div> <!-- /wp:media-text --></div> <!-- /wp:group --></div></div> <!-- /wp:cover --> <!-- wp:group {"align":"full","style":{"spacing":{"padding":{"bottom":"0px"}}},"backgroundColor":"ast-global-color-5","layout":{"inherit":false,"contentSize":"1200px","type":"constrained"}} --> <div class="wp-block-group alignfull has-ast-global-color-5-background-color has-background" style="padding-bottom:0px"><!-- wp:columns {"verticalAlignment":"top","style":{"spacing":{"blockGap":"40px"}}} --> <div class="wp-block-columns are-vertically-aligned-top"><!-- wp:column {"verticalAlignment":"top","style":{"spacing":{"blockGap":"8px"}}} --> <div class="wp-block-column is-vertically-aligned-top"><!-- wp:image {"id":134,"sizeSlug":"large","linkDestination":"none"} --> <figure class="wp-block-image size-large"><img src="' . trailingslashit( get_template_directory_uri() ) . 'inc/assets/images/starter-content/building.svg" alt="" class="wp-image-134"/></figure> <!-- /wp:image --> <!-- wp:heading {"textAlign":"left","level":3,"style":{"spacing":{"margin":{"top":"16px"}}}} --> <h3 class="has-text-align-left" style="margin-top:16px">Local Business</h3> <!-- /wp:heading --> <!-- wp:paragraph {"align":"left"} --> <p class="has-text-align-left">Lorem ipsum dolor consectetur adipiscing elit eiusmod.</p> <!-- /wp:paragraph --></div> <!-- /wp:column --> <!-- wp:column {"verticalAlignment":"top","style":{"spacing":{"blockGap":"8px"}}} --> <div class="wp-block-column is-vertically-aligned-top"><!-- wp:image {"id":135,"sizeSlug":"large","linkDestination":"none"} --> <figure class="wp-block-image size-large"><img src="' . trailingslashit( get_template_directory_uri() ) . 'inc/assets/images/starter-content/shopping-bag.svg" alt="" class="wp-image-135"/></figure> <!-- /wp:image --> <!-- wp:heading {"textAlign":"left","level":3,"style":{"spacing":{"margin":{"top":"16px"}}}} --> <h3 class="has-text-align-left" style="margin-top:16px">Online Store</h3> <!-- /wp:heading --> <!-- wp:paragraph {"align":"left"} --> <p class="has-text-align-left">Lorem ipsum dolor consectetur adipiscing elit eiusmod.</p> <!-- /wp:paragraph --></div> <!-- /wp:column --> <!-- wp:column {"verticalAlignment":"top","style":{"spacing":{"blockGap":"8px"}}} --> <div class="wp-block-column is-vertically-aligned-top"><!-- wp:image {"id":136,"sizeSlug":"large","linkDestination":"none"} --> <figure class="wp-block-image size-large"><img src="' . trailingslashit( get_template_directory_uri() ) . 'inc/assets/images/starter-content/blog.svg" alt="" class="wp-image-136"/></figure> <!-- /wp:image --> <!-- wp:heading {"textAlign":"left","level":3,"style":{"spacing":{"margin":{"top":"16px"}}}} --> <h3 class="has-text-align-left" style="margin-top:16px">Blogging</h3> <!-- /wp:heading --> <!-- wp:paragraph {"align":"left"} --> <p class="has-text-align-left">Lorem ipsum dolor consectetur adipiscing elit eiusmod.</p> <!-- /wp:paragraph --></div> <!-- /wp:column --> <!-- wp:column {"verticalAlignment":"top","style":{"spacing":{"blockGap":"8px"}}} --> <div class="wp-block-column is-vertically-aligned-top"><!-- wp:image {"id":137,"sizeSlug":"large","linkDestination":"none"} --> <figure class="wp-block-image size-large"><img src="' . trailingslashit( get_template_directory_uri() ) . 'inc/assets/images/starter-content/portfolio.svg" alt="" class="wp-image-137"/></figure> <!-- /wp:image --> <!-- wp:heading {"textAlign":"left","level":3,"style":{"spacing":{"margin":{"top":"16px"}}}} --> <h3 class="has-text-align-left" style="margin-top:16px">Portfolio</h3> <!-- /wp:heading --> <!-- wp:paragraph {"align":"left"} --> <p class="has-text-align-left">Lorem ipsum dolor consectetur adipiscing elit eiusmod.</p> <!-- /wp:paragraph --></div> <!-- /wp:column --></div> <!-- /wp:columns --></div> <!-- /wp:group --> <!-- wp:group {"align":"full","style":{"spacing":{"padding":{"bottom":"0px","top":"144px"}}},"layout":{"inherit":false,"contentSize":"1200px","type":"constrained"}} --> <div class="wp-block-group alignfull" id="services" style="padding-top:144px;padding-bottom:0px"><!-- wp:heading --> <h2>Our Services</h2> <!-- /wp:heading --> <!-- wp:columns {"style":{"spacing":{"margin":{"top":"50px"}}}} --> <div class="wp-block-columns" style="margin-top:50px"><!-- wp:column {"style":{"spacing":{"blockGap":"8px"}}} --> <div class="wp-block-column"><!-- wp:image {"id":230,"sizeSlug":"full","linkDestination":"none"} --> <figure class="wp-block-image size-full"><img src="' . trailingslashit( get_template_directory_uri() ) . 'inc/assets/images/starter-content/branding.jpg" alt="" class="wp-image-230"/></figure> <!-- /wp:image --> <!-- wp:heading {"level":3,"style":{"spacing":{"margin":{"top":"16px"}}}} --> <h3 style="margin-top:16px">Branding Design</h3> <!-- /wp:heading --> <!-- wp:paragraph --> <p>Sem quis erat nibh id neque tincidunt molestie convallis ut nibh vel, lorem consequat ullamcorper.</p> <!-- /wp:paragraph --></div> <!-- /wp:column --> <!-- wp:column {"style":{"spacing":{"blockGap":"8px"}}} --> <div class="wp-block-column"><!-- wp:image {"id":232,"sizeSlug":"full","linkDestination":"none"} --> <figure class="wp-block-image size-full"><img src="' . trailingslashit( get_template_directory_uri() ) . 'inc/assets/images/starter-content/graphic.jpg" alt="" class="wp-image-232"/></figure> <!-- /wp:image --> <!-- wp:heading {"level":3,"style":{"spacing":{"margin":{"top":"16px"}}}} --> <h3 style="margin-top:16px">Graphic Design</h3> <!-- /wp:heading --> <!-- wp:paragraph --> <p>Sem quis erat nibh id neque tincidunt molestie convallis ut nibh vel, lorem consequat ullamcorper.</p> <!-- /wp:paragraph --></div> <!-- /wp:column --> <!-- wp:column {"style":{"spacing":{"blockGap":"8px"}}} --> <div class="wp-block-column"><!-- wp:image {"id":231,"sizeSlug":"full","linkDestination":"none"} --> <figure class="wp-block-image size-full"><img src="' . trailingslashit( get_template_directory_uri() ) . 'inc/assets/images/starter-content/web.jpg" alt="" class="wp-image-231"/></figure> <!-- /wp:image --> <!-- wp:heading {"level":3,"style":{"spacing":{"margin":{"top":"16px"}}}} --> <h3 style="margin-top:16px">Web Development</h3> <!-- /wp:heading --> <!-- wp:paragraph --> <p>Sem quis erat nibh id neque tincidunt molestie convallis ut nibh vel, lorem consequat ullamcorper.</p> <!-- /wp:paragraph --></div> <!-- /wp:column --></div> <!-- /wp:columns --></div> <!-- /wp:group --> <!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"143px","bottom":"144px"}}},"backgroundColor":"ast-global-color-5","layout":{"inherit":false,"contentSize":"1200px","type":"constrained"}} --> <div class="wp-block-group alignfull has-ast-global-color-5-background-color has-background" id="about" style="padding-top:143px;padding-bottom:144px"><!-- wp:media-text {"align":"","mediaPosition":"right","mediaId":237,"mediaLink":"","mediaType":"image","verticalAlignment":"center"} --> <div class="wp-block-media-text has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-center"><div class="wp-block-media-text__content"><!-- wp:group {"style":{"spacing":{"padding":{"right":"80px"}}},"layout":{"inherit":true,"type":"constrained"}} --> <div class="wp-block-group" style="padding-right:80px"><!-- wp:heading {"style":{"spacing":{"padding":{"right":"40px"}}}} --> <h2 style="padding-right:40px">We help teams build the business of their dreams</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p>Et in risus egestas nec vitae odio ac nibh vestibulum volutpat aliquet aenean erat lobortis non.</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Nibh egestas dictumst cursus est turpis quis tincidunt pulvinar maecenas eget massa vel, ante nam blandit egestas enim id quis sit maecenas id nunc tempus auctor orci, enim imperdiet proin nibh mattis.</p> <!-- /wp:paragraph --></div> <!-- /wp:group --></div><figure class="wp-block-media-text__media"><img src="' . trailingslashit( get_template_directory_uri() ) . 'inc/assets/images/starter-content/about-us.jpg" alt="" class="wp-image-237 size-full"/></figure></div> <!-- /wp:media-text --></div> <!-- /wp:group --> <!-- wp:group {"align":"full","backgroundColor":"ast-global-color-4","layout":{"inherit":false,"contentSize":"800px","type":"constrained"}} --> <div class="wp-block-group alignfull has-ast-global-color-4-background-color has-background" id="reviews"><!-- wp:image {"align":"center","id":235,"sizeSlug":"full","linkDestination":"none"} --> <figure class="wp-block-image aligncenter size-full"><img src="' . trailingslashit( get_template_directory_uri() ) . 'inc/assets/images/starter-content/avatar.png" alt="" class="wp-image-235"/></figure> <!-- /wp:image --> <!-- wp:paragraph {"align":"center","style":{"typography":{"fontSize":"22px","lineHeight":1.6}}} --> <p class="has-text-align-center" style="font-size:22px;line-height:1.6">“The best part is that Astra comes with hundreds of professionally designed templates for just about every industry, makes it super easy for non-techy users to build a website.”</p> <!-- /wp:paragraph --> <!-- wp:paragraph {"align":"center"} --> <p class="has-text-align-center"><strong>Wade Warren</strong></p> <!-- /wp:paragraph --></div> <!-- /wp:group --> <!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"144px","bottom":"144px"}}},"layout":{"inherit":false,"contentSize":"1200px","type":"constrained"}} --> <div class="wp-block-group alignfull" id="whyus" style="padding-top:144px;padding-bottom:144px"><!-- wp:heading --> <h2>Why Choose Us</h2> <!-- /wp:heading --> <!-- wp:columns {"style":{"spacing":{"blockGap":"80px","margin":{"top":"60px"}}}} --> <div class="wp-block-columns" style="margin-top:60px"><!-- wp:column {"style":{"spacing":{"blockGap":"8px"}}} --> <div class="wp-block-column"><!-- wp:image {"id":162,"sizeSlug":"large","linkDestination":"none"} --> <figure class="wp-block-image size-large"><img src="' . trailingslashit( get_template_directory_uri() ) . 'inc/assets/images/starter-content/passionate.svg" alt="" class="wp-image-162"/></figure> <!-- /wp:image --> <!-- wp:heading {"level":3,"style":{"spacing":{"margin":{"top":"16px"}}}} --> <h3 style="margin-top:16px">Passionate</h3> <!-- /wp:heading --> <!-- wp:paragraph --> <p>Tempor ullamcorper urna, est, lectus amet sit tempor pretium mi sed morbi cras posuere sit ultrices bibendum augue sit ornare.</p> <!-- /wp:paragraph --></div> <!-- /wp:column --> <!-- wp:column {"style":{"spacing":{"blockGap":"8px"}}} --> <div class="wp-block-column"><!-- wp:image {"id":163,"sizeSlug":"large","linkDestination":"none"} --> <figure class="wp-block-image size-large"><img src="' . trailingslashit( get_template_directory_uri() ) . 'inc/assets/images/starter-content/professional.svg" alt="" class="wp-image-163"/></figure> <!-- /wp:image --> <!-- wp:heading {"level":3,"style":{"spacing":{"margin":{"top":"16px"}}}} --> <h3 style="margin-top:16px">Professional</h3> <!-- /wp:heading --> <!-- wp:paragraph --> <p>Tempor ullamcorper urna, est, lectus amet sit tempor pretium mi sed morbi cras posuere sit ultrices bibendum augue sit ornare.</p> <!-- /wp:paragraph --></div> <!-- /wp:column --> <!-- wp:column {"style":{"spacing":{"blockGap":"8px"}}} --> <div class="wp-block-column"><!-- wp:image {"id":164,"sizeSlug":"large","linkDestination":"none"} --> <figure class="wp-block-image size-large"><img src="' . trailingslashit( get_template_directory_uri() ) . 'inc/assets/images/starter-content/support.svg" alt="" class="wp-image-164"/></figure> <!-- /wp:image --> <!-- wp:heading {"level":3,"style":{"spacing":{"margin":{"top":"16px"}}}} --> <h3 style="margin-top:16px">Support</h3> <!-- /wp:heading --> <!-- wp:paragraph --> <p>Tempor ullamcorper urna, est, lectus amet sit tempor pretium mi sed morbi cras posuere sit ultrices bibendum augue sit ornare.</p> <!-- /wp:paragraph --></div> <!-- /wp:column --></div> <!-- /wp:columns --></div> <!-- /wp:group --> <!-- wp:group {"align":"full","style":{"color":{"gradient":"linear-gradient(35deg,rgb(6,0,151) 0%,rgb(130,4,255) 64%,rgb(193,15,255) 98%)"},"spacing":{"padding":{"top":"104px","bottom":"104px"}}},"layout":{"inherit":false,"contentSize":"520px","type":"constrained"}} --> <div class="wp-block-group alignfull has-background" id="contact" style="background:linear-gradient(35deg,rgb(6,0,151) 0%,rgb(130,4,255) 64%,rgb(193,15,255) 98%);padding-top:104px;padding-bottom:104px"><!-- wp:heading {"textAlign":"center","style":{"color":{"text":"#ffffff"}}} --> <h2 class="has-text-align-center has-text-color" style="color:#ffffff">Get a professional website today!</h2> <!-- /wp:heading --> <!-- wp:buttons {"align":"wide","layout":{"type":"flex","justifyContent":"center","orientation":"horizontal"},"style":{"spacing":{"margin":{"top":"50px"}}}} --> <div class="wp-block-buttons alignwide" style="margin-top:50px"><!-- wp:button --> <div class="wp-block-button"><a class="wp-block-button__link wp-element-button">Make a Website</a></div> <!-- /wp:button --></div> <!-- /wp:buttons --></div> <!-- /wp:group -->'; // @codingStandardsIgnoreEnd WordPressVIPMinimum.Security.Mustache.OutputNotation -- Required for starter content. return array( 'post_type' => 'page', 'post_title' => _x( 'Home', 'Theme starter content', 'astra' ), 'post_content' => $astra_default_home_content, ); learndash/customizer/sections/class-astra-learndash-container-configs.php 0000644 00000006220 15006151013 0023023 0 ustar 00 <?php /** * Container Options for Astra theme. * * @package Astra * @link https://www.brainstormforce.com * @since 1.3.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Learndash_Container_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Learndash_Container_Configs extends Astra_Customizer_Config_Base { /** * Register LearnDash Container settings. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.4.3 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $_configs = array( /** * Option: Revamped Container Layout. */ array( 'name' => ASTRA_THEME_SETTINGS . '[learndash-ast-content-layout]', 'type' => 'control', 'control' => 'ast-radio-image', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_choices' ), 'section' => 'section-leandash-general', 'default' => astra_get_option( 'learndash-ast-content-layout' ), 'priority' => 5, 'title' => __( 'Container Layout', 'astra' ), 'choices' => array( 'default' => array( 'label' => __( 'Default', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'layout-default', false ) : '', ), 'normal-width-container' => array( 'label' => __( 'Normal', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'normal-width-container', false ) : '', ), 'full-width-container' => array( 'label' => __( 'Full Width', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'full-width-container', false ) : '', ), ), 'divider' => array( 'ast_class' => 'ast-bottom-divider ast-bottom-spacing' ), ), /** * Option: LearnDash Content Style Option. */ array( 'name' => ASTRA_THEME_SETTINGS . '[learndash-content-style]', 'type' => 'control', 'control' => 'ast-selector', 'section' => 'section-leandash-general', 'default' => astra_get_option( 'learndash-content-style', 'default' ), 'priority' => 5, 'title' => __( 'Container Style', 'astra' ), 'description' => __( 'Container style will apply only when layout is set to either normal or narrow.', 'astra' ), 'choices' => array( 'default' => __( 'Default', 'astra' ), 'unboxed' => __( 'Unboxed', 'astra' ), 'boxed' => __( 'Boxed', 'astra' ), ), 'renderAs' => 'text', 'responsive' => false, 'divider' => array( 'ast_class' => 'ast-top-dotted-divider' ), ), ); return array_merge( $configurations, $_configs ); } } } new Astra_Learndash_Container_Configs(); learndash/customizer/sections/layout/class-astra-learndash-general-configs.php 0000644 00000003545 15006151013 0024002 0 ustar 00 <?php /** * LifterLMS General Options for our theme. * * @package Astra * @link https://www.brainstormforce.com * @since 1.3.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Learndash_General_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Learndash_General_Configs extends Astra_Customizer_Config_Base { /** * Register LearnDash General Layout settings. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.4.3 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $_configs = array( /** * Option: Display Serial Number */ array( 'name' => ASTRA_THEME_SETTINGS . '[learndash-lesson-serial-number]', 'section' => 'section-leandash-general', 'type' => 'control', 'control' => 'ast-toggle-control', 'default' => astra_get_option( 'learndash-lesson-serial-number' ), 'title' => __( 'Display Serial Number', 'astra' ), 'priority' => 25, 'divider' => array( 'ast_class' => 'ast-top-divider', 'ast_title' => __( 'Course Content Table', 'astra' ), ), ), /** * Option: Differentiate Rows */ array( 'name' => ASTRA_THEME_SETTINGS . '[learndash-differentiate-rows]', 'default' => astra_get_option( 'learndash-differentiate-rows' ), 'type' => 'control', 'control' => 'ast-toggle-control', 'section' => 'section-leandash-general', 'title' => __( 'Differentiate Rows', 'astra' ), 'priority' => 30, ), ); return array_merge( $configurations, $_configs ); } } } new Astra_Learndash_General_Configs(); learndash/customizer/sections/class-astra-learndash-sidebar-configs.php 0000644 00000006431 15006151013 0022456 0 ustar 00 <?php /** * Content Spacing Options for our theme. * * @package Astra * @link https://www.brainstormforce.com * @since 1.3.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Learndash_Sidebar_Configs' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Learndash_Sidebar_Configs extends Astra_Customizer_Config_Base { /** * Register LearnDash Sidebar settings. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.4.3 * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $_configs = array( /** * Option: Sidebar Layout. */ array( 'name' => ASTRA_THEME_SETTINGS . '[learndash-sidebar-layout]', 'type' => 'control', 'control' => 'ast-radio-image', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_choices' ), 'section' => 'section-leandash-general', 'default' => astra_get_option( 'learndash-sidebar-layout' ), 'priority' => 5, 'title' => __( 'Sidebar Layout', 'astra' ), 'choices' => array( 'default' => array( 'label' => __( 'Default', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'layout-default', false ) : '', ), 'no-sidebar' => array( 'label' => __( 'No Sidebar', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'no-sidebar', false ) : '', ), 'left-sidebar' => array( 'label' => __( 'Left Sidebar', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'left-sidebar', false ) : '', ), 'right-sidebar' => array( 'label' => __( 'Right Sidebar', 'astra' ), 'path' => ( class_exists( 'Astra_Builder_UI_Controller' ) ) ? Astra_Builder_UI_Controller::fetch_svg_icon( 'right-sidebar', false ) : '', ), ), 'description' => __( 'Sidebar will only apply when container layout is set to normal.', 'astra' ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ), /** * Option: Learndash Sidebar Style. */ array( 'name' => ASTRA_THEME_SETTINGS . '[learndash-sidebar-style]', 'type' => 'control', 'control' => 'ast-selector', 'section' => 'section-leandash-general', 'default' => astra_get_option( 'learndash-sidebar-style', 'default' ), 'priority' => 5, 'title' => __( 'Sidebar Style', 'astra' ), 'choices' => array( 'default' => __( 'Default', 'astra' ), 'unboxed' => __( 'Unboxed', 'astra' ), 'boxed' => __( 'Boxed', 'astra' ), ), 'responsive' => false, 'renderAs' => 'text', 'divider' => array( 'ast_class' => 'ast-top-divider ast-top-spacing' ), ), ); return array_merge( $configurations, $_configs ); } } } new Astra_Learndash_Sidebar_Configs(); learndash/customizer/class-astra-customizer-register-learndash-section.php 0000644 00000002672 15006151013 0023263 0 ustar 00 <?php /** * Register customizer panels & sections. * * @package Astra * @link https://www.brainstormforce.com * @since 1.2.0 * @since 1.4.6 Chnaged to using Astra_Customizer API */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } if ( ! class_exists( 'Astra_Customizer_Register_Learndash_Section' ) ) { /** * Customizer Sanitizes Initial setup */ class Astra_Customizer_Register_Learndash_Section extends Astra_Customizer_Config_Base { /** * Register Panels and Sections for Customizer. * * @param Array $configurations Astra Customizer Configurations. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @since 1.2.0 * @since 1.4.6 Chnaged to using Astra_Customizer API * @return Array Astra Customizer Configurations with updated configurations. */ public function register_configuration( $configurations, $wp_customize ) { $configs = array( array( 'type' => 'section', 'name' => 'section-learndash', 'priority' => 65, 'title' => __( 'LearnDash', 'astra' ), ), array( 'name' => 'section-leandash-general', 'title' => __( 'General', 'astra' ), 'type' => 'section', 'section' => 'section-learndash', 'priority' => 10, ), ); return array_merge( $configurations, $configs ); } } } new Astra_Customizer_Register_Learndash_Section(); learndash/class-astra-learndash.php 0000644 00000065434 15006151013 0013376 0 ustar 00 <?php /** * 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 ); } } endif; if ( apply_filters( 'astra_enable_learndash_integration', true ) ) { /** * Kicking this off by calling 'get_instance()' method */ Astra_LearnDash::get_instance(); } class-astra-jetpack.php 0000644 00000002765 15006151013 0011113 0 ustar 00 <?php /** * Jetpack Compatibility File. * * @link https://jetpack.me/ * * @package Astra */ // If plugin - 'Jetpack' not exist then return. if ( ! class_exists( 'Jetpack' ) ) { return; } /** * Astra Jetpack Compatibility */ if ( ! class_exists( 'Astra_Jetpack' ) ) : /** * Astra Jetpack Compatibility * * @since 1.0.0 */ class Astra_Jetpack { /** * 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_action( 'after_setup_theme', array( $this, 'jetpack_setup' ) ); } /** * Add theme support for Infinite Scroll. * See: https://jetpack.me/support/infinite-scroll/ */ public function jetpack_setup() { add_theme_support( 'infinite-scroll', array( 'container' => 'main', 'render' => array( $this, 'infinite_scroll_render' ), 'footer' => 'page', ) ); } // end function jetpack_setup /** * Custom render function for Infinite Scroll. */ public function infinite_scroll_render() { while ( have_posts() ) { the_post(); get_template_part( 'template-parts/content', astra_get_post_format() ); } } // end function infinite_scroll_render } endif; /** * Kicking this off by calling 'get_instance()' method */ Astra_Jetpack::get_instance(); class-astra-yoast-seo.php 0000644 00000001223 15006151013 0011401 0 ustar 00 <?php /** * Yoast SEO Compatibility File. * * @package Astra */ /** * Astra Yoast SEO Compatibility * * @since 2.1.2 */ class Astra_Yoast_SEO { /** * Constructor */ public function __construct() { add_filter( 'wpseo_sitemap_exclude_post_type', array( $this, 'sitemap_exclude_post_type' ), 10, 2 ); } /** * Exclude One Content Type From Yoast SEO Sitemap * * @param string $value value. * @param string $post_type Post Type. * @since 2.1.2 */ public function sitemap_exclude_post_type( $value, $post_type ) { return 'astra-advanced-hook' === $post_type; } } /** * Kicking this off by object */ new Astra_Yoast_SEO();
| ver. 1.4 |
Github
|
.
| PHP 8.0.30 | Генерация страницы: 0.02 |
proxy
|
phpinfo
|
Настройка