→', $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 */ 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 */ 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 */ 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 */ 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(); ?>
astra_get_edd_cart(); ?>
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( $link_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 ), ), // 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 ), ), '.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-radius' => astra_get_css_value( $btn_border_radius, 'px' ), ), '.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' ), ), ); /* 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, '769' ); 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, '769' ); endif; wp_add_inline_style( 'astra-edd', apply_filters( 'astra_theme_edd_dynamic_css', $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 ); }); });" ); } /** * Theme Defaults. * * @param array $defaults Array of options value. * @return array */ function theme_defaults( $defaults ) { // Container. $defaults['edd-content-layout'] = 'plain-container'; // // Sidebar. $defaults['edd-sidebar-layout'] = 'no-sidebar'; $defaults['edd-single-product-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. */ 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. */ 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. */ 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. */ 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. */ 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 ) { $edd_sidebar = astra_get_option( 'edd-sidebar-layout' ); if ( 'default' !== $edd_sidebar ) { $sidebar_layout = $edd_sidebar; } if ( $is_edd_single_product_page ) { $edd_single_product_sidebar = astra_get_option( 'edd-single-product-sidebar-layout' ); if ( 'default' !== $edd_single_product_sidebar ) { $sidebar_layout = $edd_single_product_sidebar; } else { $sidebar_layout = astra_get_option( 'site-sidebar-layout' ); } $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( 'edd-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. */ 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 ) { $edd_layout = astra_get_option( 'edd-content-layout' ); if ( 'default' !== $edd_layout ) { $layout = $edd_layout; } if ( $is_edd_single_page ) { $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_get_option( 'edd-content-layout' ); } else { $edd_page_layout = astra_get_option_meta( 'site-content-layout', '', true ); } 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. */ function customize_register( $wp_customize ) { /** * 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'; } } endif; if ( apply_filters( 'astra_enable_edd_integration', true ) ) { Astra_Edd::get_instance(); }