Поддержка WooCommerce 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 не изменял совсем. Фильтры и хуки тоже не добавлял никакие. Тема уже заезжана, но решение так и не нашел, потому что у меня не кастомная пагинация, а из коробки и почему она не работает, я не совсем понимаю.

    • Тема изменена 3 года, 6 месяцев назад пользователем hotline3miami.
  • Тема «WooCommerce пагинация» закрыта для новых ответов.