@shane89

Как сделать поиск по произвольным полям в wordpress?

Есть фильтр, который принимает 5 значений. Передаю их гетом, эти 5 значений есть в товаре, в произвольных полях.
$query = new WP_Query( array(
    'post_type' => 'post',
    'meta_query' => array(
        array(
            'key' => 'mood1',
            'value' =>$_GET['value1'],
        ),
        array(
            'key' => 'mood2',
            'value' => $_GET['value2'],
        ),
        array(
            'key' => 'mood3',
            'value' => $_GET['value3'],
        ),
        array(
            'key' => 'mood4',
            'value' => $_GET['value4'],
        ),
        array(
            'key' => 'mood5',
            'value' => $_GET['value5'],
        ),
    ),
) );

Все ищет, но если я передаю 1 значение, выдает что ничего не найдено. То в value передается пустота. Как решить эту проблему, сделать поиск по 1 значению?
  • Вопрос задан
  • 358 просмотров
Решения вопроса 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
$array =array(
    'post_type' => 'post',
    'meta_query' => array()
 );

for ($n = 1; $n <= 5; $n++) {
if( ! empty( $_GET['value' . $n]  )  ) 
  $array['meta_query'][]  = array(
            'key' => 'mood' . $n,
            'value' => $_GET['value' . $n]
        );
  }

$query = new WP_Query( $array );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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