WooCommerce пагинация
-
Доброго времени суток. Проблема пагинации на сайте вышла, установил woocommrce, в категориях вывел товары, сделал пагинацию стандартную, но она не работает. Перехожу на вторую страницу товаров, в URL-e записывает что стр-ца вторая,но по факту первая и current = 1 тоже, current_page = 1. Эти переменные взяты из массива $args пагинации и $GLOBALS[‘woocommerce_loop’].
файл archive-product.php
<?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://docs.woocommerce.com/document/template-structure/
* @package WooCommerce/Templates
* @version 3.4.0
*/defined( ‘ABSPATH’ ) || exit;
get_header( ‘shop’ );
/**
* Hook: woocommerce_before_main_content.
*
* @hooked woocommerce_output_content_wrapper — 10 (outputs opening divs for the content)
* @hooked woocommerce_breadcrumb — 20
* @hooked WC_Structured_Data::generate_website_data() — 30
*/
do_action( ‘woocommerce_before_main_content’ );?>
<div class=»container»>
<header class=»woocommerce-products-header»>
<?if ( function_exists(‘yoast_breadcrumb’) ) {
yoast_breadcrumb( ‘<p id=»breadcrumbs»>’,'</p>’ );
}
?>
<?php if ( apply_filters( ‘woocommerce_show_page_title’, true ) ) : ?>
<h1 class=»woocommerce-products-header__title page-title»><?php woocommerce_page_title(); ?></h1>
<?php endif; ?>
</header>
<?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();
if ($_SERVER[«REMOTE_ADDR»]==’176.116.136.183′) {
}/**
* Hook: woocommerce_shop_loop.
*/
do_action( ‘woocommerce_shop_loop’ );wc_get_template_part( ‘content’, ‘product’ );
}
}if ($_SERVER[«REMOTE_ADDR»]==’176.116.136.183′) {
get_posts();
}woocommerce_product_loop_end();
/**
* Hook: woocommerce_after_shop_loop.
*
* @hooked woocommerce_pagination — 10
*/
do_action( ‘woocommerce_after_shop_loop’, 10 );
} else {
/**
* Hook: woocommerce_no_products_found.
*
* @hooked wc_no_products_found — 10
*/
do_action( ‘woocommerce_no_products_found’ );
}/**
* Hook: woocommerce_after_main_content.
*
* @hooked woocommerce_output_content_wrapper_end — 10 (outputs closing divs for the content)
*/
do_action( ‘woocommerce_after_main_content’ );
?>
</div>
<?
/**
* Hook: woocommerce_sidebar.
*
* @hooked woocommerce_get_sidebar — 10
*/
/*do_action( ‘woocommerce_sidebar’ );*/get_footer( ‘shop’ );
файл pagination.php
<?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/
* @package WooCommerce/Templates
* @version 3.3.1
*/if ( ! defined( ‘ABSPATH’ ) ) {
exit;
}$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;
}
?>
<nav class=»woocommerce-pagination»><?php
echo paginate_links( apply_filters(‘woocommerce_pagination_args’, array( // WPCS: XSS ok.
‘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>В чем проблема не пойму. Ядро WC не изменял совсем. Фильтры и хуки тоже не добавлял никакие. Тема уже заезжана, но решение так и не нашел, потому что у меня не кастомная пагинация, а из коробки и почему она не работает, я не совсем понимаю.
- Тема «WooCommerce пагинация» закрыта для новых ответов.