Падает сайт при сортировке по дополнительным полям
-
На сайте большое количество образцов материалов.
Каждый образец = 1 пост.
У каждого образца есть несколько дополнительных полей (например цвет, коллекция).Нужна сортировка, которая выведет сразу все образцы, которые отвечают полям «зеленый или красный, или синий», где это естественно указывается в форме чекбоксами.
Так-же возможен вариант вывода только «красных».Вот мой код:
В шаблоне вызываю функцию перед формой.
Все работает, но если выбрать например 5-7 цветов (а материалов в базе >500) сайт падает.
появляется ошибка 503function cat_sort(){ global $wp_query; $cat_ID = get_query_var('cat'); $param = $_POST; // получил пост $i = 1; foreach ($param as $key => $value){ $type = $key; if($i){ $mass = count($value); if($mass > 1){ $ar = array('relation' => 'OR'); // родительский массив. в последствии будет менятся в зависимости от входных параметров. } } unset($i); foreach ($value as $val){ $ar[] = array( 'key' => $type, 'value' => $val, 'compare' => 'IN' // в последствии будет менятся в зависимости от входных параметров ); } } $args1 = array( 'post_type' => 'post', 'cat'=>$cat_ID, 'meta_query' =>$ar );// итог if ($_POST) { $q = new WP_Query ($args1); }else { $q = new WP_Query ("cat=$cat_ID"); } return $q; }
Просмотр 2 ответов — с 1 по 2 (всего 2)
Просмотр 2 ответов — с 1 по 2 (всего 2)
- Тема «Падает сайт при сортировке по дополнительным полям» закрыта для новых ответов.