8889841cclass-astra-edd.php000064400000112643150447657130010247 0ustar00' . esc_html( $cart_title ) . ''; $cart_total_markup = '' . esc_html( edd_currency_filter( edd_format_amount( edd_get_cart_total() ) ) ) . ''; // Cart Title & Cart Cart total markup. $cart_info_markup = sprintf( ' %1$s %2$s %3$s ', ( $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( '%4$s', ( $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( '
%1$s %2$s
', ( $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 ', $next_post->post_title ); } $prev_text = false; if ( $prev_post ) { $prev_text = sprintf( ' %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() { ?>
>
>
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(); } ?>
astra_get_edd_cart(); ?>
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' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ) ); 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' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ) ); } /** * 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-common-functions.php000064400000020672150447657130011330 0ustar00'; 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 ''; 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 ) { $terms = get_terms( array( 'taxonomy' => $taxonomy_name ) ); ?>
name ); ?>
'; $output .= '' . esc_html( $variable_button_text ) . ''; $output .= ''; } else { if ( ! empty( $add_to_cart_text ) ) { $output = edd_get_purchase_link( array( 'price' => false, 'text' => esc_html( $add_to_cart_text ), ) ); } } return $output; } customizer/class-astra-customizer-register-edd-section.php000064400000003517150447657130020140 0ustar00 '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(); customizer/sections/class-astra-edd-sidebar-configs.php000064400000007550150447657130017337 0ustar00 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 ) : '', ), ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ), /** * Help Text: EDD Sidebar Layout. */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-sidebar-layout-description]', 'type' => 'control', 'control' => 'ast-description', 'section' => 'section-edd-general', 'priority' => 6, 'title' => '', 'help' => __( 'Sidebar will only apply when container layout is set to normal.', 'astra' ), 'divider' => array( 'ast_class' => 'ast-bottom-spacing ast-section-divider' ), 'settings' => array(), 'hide' => ( ! Astra_Dynamic_CSS::astra_fullwidth_sidebar_support() ), ), /** * 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(); customizer/sections/layout/class-astra-edd-archive-layout-configs.php000064400000021227150447657130022174 0ustar00 '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_PRO_CUSTOMIZER_UPGRADE_URL, 'settings' => array(), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ); } $configurations = array_merge( $configurations, $_configs ); return $configurations; } } } new Astra_Edd_Archive_Layout_Configs(); customizer/sections/layout/class-astra-edd-single-product-layout-configs.php000064400000002776150447657130023522 0ustar00 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(); customizer/sections/class-astra-edd-container-configs.php000064400000006657150447657130017717 0ustar00 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' ), 'priority' => 5, 'title' => __( 'Container Style', 'astra' ), 'choices' => array( 'default' => 'Default', 'unboxed' => 'Unboxed', 'boxed' => 'Boxed', ), 'renderAs' => 'text', 'responsive' => false, ), /** * Help Text: EDD Content Style Option. */ array( 'name' => ASTRA_THEME_SETTINGS . '[edd-content-style-description]', 'type' => 'control', 'control' => 'ast-description', 'section' => 'section-edd-general', 'priority' => 5, 'title' => '', 'help' => __( 'Container style will apply only when layout is set to either normal or narrow.', 'astra' ), 'settings' => array(), ), ); return array_merge( $configurations, $_configs ); } } } new Astra_Edd_Container_Configs();