2013-09-13 2 views
0

У меня есть этот кусок кода, и она работает просто отлично:Wordpress meta_query несколько полей для поиска не работает

$search = array(
    'meta_query'    => array(
     array(
      'key'  => 'wpcf-community-city', 
      'value'  => $search_param, 
      'compare' => 'LIKE' 
     ) 
    ) 
); 

Но когда я изменяю к этому, она перестает работать.

$search = array(
    'meta_query'    => array(
     'relation'  => 'OR', 
     array(
      'key'  => 'wpcf-community-city', 
      'value'  => $search_param, 
      'compare' => 'LIKE' 
     ), 
     array(
      'key'  => 'wpcf-community-state', 
      'value'  => $search_param, 
      'compare' => 'LIKE' 
     ), 
     array(
      'key'  => 'wpcf-community-zip', 
      'value'  => $search_param, 
      'compare' => 'LIKE' 
     ) 
    ) 
); 

Я использую Wordpress 3.4.2

PS: Этот фрагмент кода является частью query_posts параметров().

+1

Что вы имеете в виду, что это не работает? Произошла ошибка? Слишком мало результатов, или слишком много? Вы пытались использовать метод 'get_sql', чтобы увидеть, какой SQL он фактически генерирует? – andrewsi

+0

Это не дает никаких результатов, страница застревает при чтении этого кода. – user2777114

ответ

0

Почему вы не используете WP_Query? U нужно использовать параметр 'relation'?

Используйте этот пример .. его работы:

'meta_query' => array(
    array(
    'key' => 'color', 
    'value' => 'blue', 
    'type' => 'CHAR', 
    'compare' => '=' //'=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' 
    ), 
    array(
     'key' => 'price', 
     'value' => array(1,200), 
     'compare' => 'NOT LIKE' 
    ) 
), 
+0

У меня уже есть вся логическая настройка, в чем проблема query_posts()? – user2777114

+0

Нет проблем, рекомендуется только WP_query из-за способа чтения и ваших параметров –

Смежные вопросы