→',
$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();
?>
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;
$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
*/
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' => '',
)
)
);
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' => '',
)
)
);
}
/**
* 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();
}