Intereting Posts
Woocommerce – добавление продукта в корзину программно через JS или PHP Установленное вредоносное ПО UpdraftPlus – страшно загружать или обновлять плагины сейчас! Отсутствует заголовок для пользовательских типов сообщений Форма комментария двух шагов Запрос расширенных пользовательских полей Как получить пул активной темы? get_option () vs get_theme_mod (): Почему один медленнее? Как добавить атрибуты html в тег «ul» html с помощью функции «wp_nav_menu»? Как я могу создать двойной сбрасываемый метаболизм? Добавление дополнительного адреса электронной почты, который получает электронную почту, например, admin – woocommerce Добавить изображения в мою тему с помощью html Выбор различных шаблонов для категорий Позиция новой страницы Правильный крючок для W3TC определяет или динамически отключает общий кэш w3 Удалите пользовательские сообщения, соответствующие значениям таксономии

Wp Pagenavi как показать все результаты

Я использую Wp Pagenavi Plugin. Я пытаюсь отобразить все результаты с помощью кнопки.

Я использую это:

$out .= '<form action="" id="showall" method="POST" name="results"> <input type="hidden" name="woocommerce-sort-by-columns" id="woocommerce-sort-by-columns" class="sortby" value="100"><input type="submit" name="submit" value="All"> </form>'; 

Он работает, если я на первой странице, но если я нахожусь на другой странице (второй один / третий …), он дает мне сообщение об ошибке 404.

Как я могу исправить эту проблему? Благодарю.

Я заменил его:

 $out .= $instance->get_single( 1, 'first', "All", 100, 1 ); 

И я изменил функцию get_single, точнее я добавил параметр «все», и этот не будет ничего другого.

 function get_single( $page, $class, $raw_text, $format = '%PAGE_NUMBER%', $all = 0 ) { if ( empty( $raw_text ) ) return ''; $text = str_replace( $format, number_format_i18n( $page ), $raw_text ); if($all == 1) return "<a href='" . esc_url( $this->get_url( $page ) ) . "?all-products=1' class='$class'>$text</a>"; else return "<a href='" . esc_url( $this->get_url( $page ) ) . "' class='$class'>$text</a>"; } 

Наконец, я добавил это в конец файла functions.php:

 if(isset($_GET['all-products'])) add_filter( 'loop_shop_per_page', create_function( '$cols', 'return 100;' ), 20 ); 

В моем случае, когда нажата кнопка «Все», на веб-сайте будет отображаться первая страница категории со 100 продуктами. Вы должны изменить 100 на нужный номер.

Я считаю, что это не лучшее решение этой проблемы, но это, безусловно, работает для меня.