Ограничение на вывод товаров в цикле WooCommerce

Столкнулся со следующей проблемой. На сайте есть страница отзывов, в выпадающем меню можно выбрать товар для отзыва и поставить ему оценку. Проблема следующая — товары выводятся кодом:

<select class="selectpicker" data-live-search="true">
<?php
$loop = new WP_Query( array(
'post_type' => 'product',
'posts_per_page' => 600,
));
while ( $loop->have_posts() ): $loop->the_post();
echo '<option value="'.get_the_ID().'">'.get_the_title().'</option>';
endwhile;
?>
</select> 

Если использовать значение posts_per_page — «-1», то сайт падает, т.к на нем в данный момент более 2700 товаров, методом проб и ошибок, я определил, что максимальное количество выводимых товаров — 1700. Вопрос — как вывести все товары в выпадающем меню?


Ответы (1 шт):

Автор решения: KAGG Design

Нельзя выводить огромные списки в select. В какой-то момент браузер заткнётся, приходилось сталкиваться с такими случаями (около 4000 элементов в списке).

К тому же, такими огромными списками совершенно невозможно пользоваться.

Вам надо делать динамический поиск товара по нескольким введённым буквам названия. Примерно так, как сделан поиск родительской страницы в админке при редактировании страницы (поле Parent Page).

→ Ссылка