<?php
/**
* The Template for displaying product archives, including the main shop page which is a post type archive
*
* This template can be overridden by copying it to yourtheme/woocommerce/archive-product.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible, but it does
* happen. When this occurs the version of the template file will be bumped and
* the readme will list any important changes.
*
* @see https://woocommerce.com/document/template-structure/
* @package WooCommerce\Templates
* @version 8.6.0
*/
defined( 'ABSPATH' ) || exit;
// Elementor `archive` location
if ( ! function_exists( 'elementor_theme_do_location' ) || ! elementor_theme_do_location( 'archive' ) ) {
if ( ! ignavo_is_pjax() ) {
get_header( 'shop' );
}
?>
<?php ignavo_do_action( 'ignavo_before_main_shop'); ?>
<div class="container">
<?php do_action( 'woocommerce_before_main_content' ); ?>
<header class="woocommerce-products-header">
<?php do_action( 'woocommerce_archive_description' ); ?>
</header>
<?php if( get_theme_mod( 'ignavo_shop_layout' ) == 'full-width' || ignavo_get_option() == 'full-width') { ?>
<div class="site-content-wrapper reverse full-width">
<div id="primary" class="column primary-column">
<?php do_action('klb_before_products'); ?>
<?php
if ( woocommerce_product_loop() ) {
/**
* Hook: woocommerce_before_shop_loop.
*
* @hooked woocommerce_output_all_notices - 10
* @hooked woocommerce_result_count - 20
* @hooked woocommerce_catalog_ordering - 30
*/
do_action( 'woocommerce_before_shop_loop' );
woocommerce_product_loop_start();
if ( wc_get_loop_prop( 'total' ) ) {
while ( have_posts() ) {
the_post();
/**
* Hook: woocommerce_shop_loop.
*/
do_action( 'woocommerce_shop_loop' );
wc_get_template_part( 'content', 'product' );
}
}
woocommerce_product_loop_end();
do_action( 'woocommerce_after_shop_loop' );
} else {
do_action( 'woocommerce_no_products_found' );
}
?>
</div>
<?php if ( is_active_sidebar( 'shop-sidebar' ) ) { ?>
<div id="secondary" class="column secondary-column filter-widgets hidden lg:block sticky hide-desktop">
<?php dynamic_sidebar( 'shop-sidebar' ); ?>
</div>
<?php } ?>
</div>
<?php } elseif( get_theme_mod( 'ignavo_shop_layout' ) == 'right-sidebar' || ignavo_get_option() == 'right-sidebar') { ?>
<div class="site-content-wrapper reverse sidebar-right">
<div id="primary" class="column primary-column">
<?php do_action('klb_before_products'); ?>
<?php
if ( woocommerce_product_loop() ) {
/**
* Hook: woocommerce_before_shop_loop.
*
* @hooked woocommerce_output_all_notices - 10
* @hooked woocommerce_result_count - 20
* @hooked woocommerce_catalog_ordering - 30
*/
do_action( 'woocommerce_before_shop_loop' );
woocommerce_product_loop_start();
if ( wc_get_loop_prop( 'total' ) ) {
while ( have_posts() ) {
the_post();
/**
* Hook: woocommerce_shop_loop.
*/
do_action( 'woocommerce_shop_loop' );
wc_get_template_part( 'content', 'product' );
}
}
woocommerce_product_loop_end();
do_action( 'woocommerce_after_shop_loop' );
} else {
do_action( 'woocommerce_no_products_found' );
}
?>
</div>
<?php if ( is_active_sidebar( 'shop-sidebar' ) ) { ?>
<div id="secondary" class="column secondary-column filter-widgets hidden lg:block sticky">
<?php dynamic_sidebar( 'shop-sidebar' ); ?>
</div>
<?php } ?>
</div>
<?php } else { ?>
<?php if ( is_active_sidebar( 'shop-sidebar' ) ) { ?>
<div class="site-content-wrapper reverse sidebar-left">
<div id="primary" class="column primary-column">
<?php do_action('klb_before_products'); ?>
<?php
if ( woocommerce_product_loop() ) {
/**
* Hook: woocommerce_before_shop_loop.
*
* @hooked woocommerce_output_all_notices - 10
* @hooked woocommerce_result_count - 20
* @hooked woocommerce_catalog_ordering - 30
*/
do_action( 'woocommerce_before_shop_loop' );
woocommerce_product_loop_start();
if ( wc_get_loop_prop( 'total' ) ) {
while ( have_posts() ) {
the_post();
/**
* Hook: woocommerce_shop_loop.
*/
do_action( 'woocommerce_shop_loop' );
wc_get_template_part( 'content', 'product' );
}
}
woocommerce_product_loop_end();
do_action( 'woocommerce_after_shop_loop' );
} else {
do_action( 'woocommerce_no_products_found' );
}
?>
</div>
<?php if ( is_active_sidebar( 'shop-sidebar' ) ) { ?>
<div id="secondary" class="column secondary-column filter-widgets hidden lg:block sticky">
<?php dynamic_sidebar( 'shop-sidebar' ); ?>
</div>
<?php } ?>
</div>
<?php } else { ?>
<div class="site-content-wrapper reverse sidebar-left">
<div id="primary" class="column primary-column">
<?php do_action('klb_before_products'); ?>
<?php
if ( woocommerce_product_loop() ) {
/**
* Hook: woocommerce_before_shop_loop.
*
* @hooked woocommerce_output_all_notices - 10
* @hooked woocommerce_result_count - 20
* @hooked woocommerce_catalog_ordering - 30
*/
do_action( 'woocommerce_before_shop_loop' );
woocommerce_product_loop_start();
if ( wc_get_loop_prop( 'total' ) ) {
while ( have_posts() ) {
the_post();
/**
* Hook: woocommerce_shop_loop.
*/
do_action( 'woocommerce_shop_loop' );
wc_get_template_part( 'content', 'product' );
}
}
woocommerce_product_loop_end();
do_action( 'woocommerce_after_shop_loop' );
} else {
do_action( 'woocommerce_no_products_found' );
}
?>
</div>
<?php if ( is_active_sidebar( 'shop-sidebar' ) ) { ?>
<div id="secondary" class="column secondary-column filter-widgets hidden lg:block sticky">
<?php dynamic_sidebar( 'shop-sidebar' ); ?>
</div>
<?php } ?>
</div>
<?php } ?>
<?php } ?>
<?php
/**
* Hook: woocommerce_after_main_content.
*
* @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content)
*/
do_action( 'woocommerce_after_main_content' );
?>
<?php ignavo_do_action( 'ignavo_after_main_shop'); ?>
</div>
<?php
if ( ! ignavo_is_pjax() ) {
get_footer( 'shop' );
}
}