<?php
/**
* Pagination - Show numbered pagination for catalog pages
*
* This template can be overridden by copying it to yourtheme/woocommerce/loop/pagination.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://docs.woocommerce.com/document/template-structure/
* @author WooThemes
* @package WooCommerce/Templates
* @version 3.3.1
*/
use XTS\Modules\Layouts\Global_Data;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
global $wp_query;
$total = isset( $total ) ? $total : wc_get_loop_prop( 'total_pages' );
$current = isset( $current ) ? $current : wc_get_loop_prop( 'current_page' );
$base = isset( $base ) ? $base : esc_url_raw( str_replace( 999999999, '%#%', remove_query_arg( 'add-to-cart', get_pagenum_link( 999999999, false ) ) ) );
$format = isset( $format ) ? $format : '';
if ( $total <= 1 ) {
return;
}
if ( Global_Data::get_instance()->get_data( 'shop_pagination' ) ) {
$pagination = Global_Data::get_instance()->get_data( 'shop_pagination' );
} else {
$pagination = woodmart_loop_prop( 'shop_pagination' );
}
// fix bug with wrong escaped url generated by next_posts() call.
if ( is_search() ) {
$pagination = 'pagination';
}
if ( function_exists( 'wcfm_is_store_page' ) && wcfm_is_store_page() ) {
$pagination = 'pagination';
}
?>
<?php if ( $pagination ) : ?>
<?php wp_enqueue_script( 'imagesloaded' ); ?>
<?php woodmart_enqueue_js_script( 'products-load-more' ); ?>
<?php if ( 'infinit' === $pagination ) : ?>
<?php woodmart_enqueue_js_library( 'waypoints' ); ?>
<?php endif; ?>
<div class="wd-loop-footer products-footer">
<?php if ( $pagination == 'more-btn' || $pagination == 'infinit' ) : ?>
<?php if ( get_next_posts_link() ) : ?>
<?php woodmart_enqueue_inline_style( 'load-more-button' ); ?>
<a href="<?php echo next_posts( $wp_query->max_num_pages, false ); ?>" rel="nofollow noopener" class="btn wd-load-more wd-products-load-more load-on-<?php echo 'more-btn' === $pagination ? 'click' : 'scroll'; ?>"><span class="load-more-label"><?php esc_html_e( 'Load more products', 'woodmart' ); ?></span></a>
<div class="btn wd-load-more wd-load-more-loader"><span class="load-more-loading"><?php esc_html_e( 'Loading...', 'woodmart' ); ?></span></div>
<?php endif; ?>
<?php else : ?>
<nav class="woocommerce-pagination wd-pagination">
<?php
echo paginate_links(
apply_filters(
'woocommerce_pagination_args',
array(
'base' => $base,
'format' => $format,
'add_args' => false,
'current' => max( 1, $current ),
'total' => $total,
'prev_text' => '←',
'next_text' => '→',
'type' => 'list',
'end_size' => 3,
'mid_size' => 3,
)
)
);
?>
</nav>
<?php endif ?>
</div>
<?php endif; ?>