Задать вопрос

Как решить проблему с фильтром на Wordpress?

Всем привет. В кодинге я почти 0. И хочу спросить как решить такое.:
Есть фильтр по дополнительным полям Wordpress.
c0b6f0bac5d744bca0a4ea8911d28c2c.png
Выпадающий список, и чебоксы.
Не работает именно список где цвета. Ищет только когда в масиве цифры.
В функции сделал так:

if(isset($_GET['color']) && !empty($_GET['color'])){
			$meta_query[] = array(
                    'key' => 'цвет',
                    'value' => intval($_GET['color']),
                    'compare' => 'IN',
            );
		}


'compare' ставил как числовой так и string

В шаблоне сделал так:
<div class="side-block">
<?php $colors = array("1" => "Синий",); ?>
<h3>Цвет:</h3>
<label>
<select name="color">
            <option value="">любой</option>
      <?php foreach($colors as $color){
        echo '<option '.selected($_GET['цвет'], $color, false).' value="'.$color.'">'.$color.'</option>';
      } ?>
        </select>
</label>
</div>


Так как исправить чтобы искало по словах?

С чебоксами не могу решить проблему,там незнаю как сделать функцию.

Для чебоксов например такой код верстки:
<div class="side-block">
<h3>Тип двигателя:</h3>
<ul>
  <li><input type="checkbox">Бензин<a href="#"><sup>34</sup></a></li>
  <li><input type="checkbox">Дизель<a href="#"><sup>231</sup></a></li>
  <li><input type="checkbox">Газ (бензин)<a href="#"><sup>133</sup></a></li>
  <li><input type="checkbox">Гибрид (бензин)<a href="#"><sup>45</sup></a></li>
  <li><input type="checkbox">Гибрид (дизель)<a href="#"><sup>53</sup></a></li>
  <li><input type="checkbox">Электромобиль<a href="#"><sup>149</sup></a></li>
</ul>
</div>


Помогите решить задачу. Спасибо
  • Вопрос задан
  • 223 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
'value' => intval($_GET['color']),
Так вы же принудительно из этого значения (строки) делаете число. Попробуйте:
'value' => sanitize_text_field($_GET['color']),
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы