@denism300

Как изменить количество товаров на странице WooCommerce?

Вывожу на странице категории форму, которая при выборе устанавливает GET параметр.
Дальше, принимаю его и обрабатываю, чтобы поменять количество товаров на странице
function loop_product_per_page($q, $per_page)
{
    if (isset($_GET['products-per-page'])) {
        $per_page = (int) ($_GET['products-per-page']);
    } else {
        $per_page = 12;
    }
    if (function_exists('woocommerce_products_will_display') && woocommerce_products_will_display() && $q->is_main_query()) {
        $q->set('posts_per_page', $per_page);
    }
}

Однако, количество товаров не изменяется. В чем может быть проблема?
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
/**
	 * Изменение количества продуктов на странице
	 * 
	 * @compatible    WooCommerce 3.2.0 +
	 * @see           https://github.com/woocommerce/woocommerce/blob/7701d4b57cb20dc89e25bb7bf2ff872d85f4c535/includes/class-wc-query.php#L412
	 */


	function loop_product_per_page( $per_page ) {

		if ( ! empty( $_GET[ 'products-per-page' ] ) ) {
			$per_page = (int) ( $_GET[ 'products-per-page' ] );
		} else {
			$per_page = 12;
		}

		return $per_page;
	}

	add_filter( 'loop_shop_per_page', 'loop_product_per_page', 9999 );
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы