2017-02-06 2 views
-2
$args = array(
    'post_type' => array('project','department'), 
    'meta_query' => array(
     array(
      'key' => 'jurisdiction', 
      'value' => $where, 
      'compare' => '=' 
     ), 
     array(
      'key' => 'title', 
      'value' => $cat, 
      'compare' => '=' 
     ), 
     array(
      'key' => 'status', 
      'value' => $type, 
      'compare' => '=' 
     ) 
    ) 
); 

$loop = new WP_Query($args); 

while ($loop->have_posts()) : $loop->the_post(); 
    global $post; 
    the_title(); 
endwhile; 

Будет производить следующее сообщение об ошибкеcoustom запись тип запроса в многоканальном meta_key и meta_value

Внимание: обрезки() ожидает параметр 1, чтобы быть строка, массив приведены в /var/www/.../wp -ключает/class-wp-meta-query.php в строке 584

+1

Пожалуйста, ознакомьтесь с 'meta_query' документации - https://codex.wordpress.org/Class_Reference/WP_Meta_Query – htmlbrewery

+0

Пожалуйста, обновите ваш вопрос со значением' $ where', '$ cat' и' $ type'. –

ответ

0

Первый: в meta_query не принимайте переменную массива. просто проверьте эту переменную ($ where, $ cat и $ type), чтобы дать вам правильное значение?

2nd: Возможно, вы забудете написать атрибут отношения в метафайле.

$args = array(
    'post_type' => array('project','department'), 
    'meta_query' => array(
     'relation' => 'OR', // Optional, defaults to "AND" 
     array(
      'key' => 'jurisdiction', 
      'value' => $where, 
      'compare' => '=' 
     ), 
     array(
      'key' => 'title', 
      'value' => $cat, 
      'compare' => '=' 
     ), 
     array(
      'key' => 'status', 
      'value' => $type, 
      'compare' => '=' 
     ) 
    ) 
); 

я надеюсь, что это будет полезно для вас

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