2015-07-24 2 views
-3

Я хочу создать поиск в WordPress на основе ширины, стиля, типа и конца. Для ввода продуктов я создал пользовательский тип сообщения. И используя пользовательские поля, чтобы добавить ширину, стиль и конец для каждого продукта. Теперь я написал этот код, но не отфильтровывал его.Создать пользовательский поиск

<?php 
    $width=$_POST['width']; 
    list($first, $secnd)=split('-', $width); 
    $sink=$_POST['type']; 
    $finish=$_POST['finish']; 
    $style=$_POST['style']; 
?> 

<ul class="vanity-collection"> 
    <?php 
     // Start the Loop. 
     $query=new WP_Query(array('post_type'=>'products', 
      'meta_query' => array(
       'key' => 'width', 
       'value' => $first, 
       'compare' => '>=' 
      ), 
      array(
       'key' => 'width', 
       'value' => $secnd, 
       'compare' => '=<' 
      ), 
      array(
       'key' => 'sink-type', 
       'value' => $sink, 
       'compare' => '=<' 
      ), 
      array(
       'key' => 'finish', 
       'value' => $finish, 
       'compare' => '=<' 
      ), 
      array(
       'key' => 'style', 
       'value' => $style, 
       'compare' => '=<' 
      ) 
     )); 
     while ($query->have_posts()) : $query->the_post(); 
     $product_img=get_the_ID(); 
    ?> 
    <li> 
     <div class="img-box"> 
      <?php echo get_the_post_thumbnail($product_img,array(291,202,true)); ?> 
      <a href="#" class="hover-collection"></a> 
     </div> 
     <span class="font-collection-detail"><?php the_title(); ?></span> 
    </li> 
    <?php 
     endwhile; 
    ?> 
</ul> 
+2

Что такое ваш вопрос? –

+0

thanx mate, проблема в том, что этот код не фильтрует результаты ... но я нашел решение. – Habib

ответ

1

Проблема была в моем коде, я должен добавить еще один массив перед мета-массивов, как этот

$query=new WP_Query(array('post_type'=>'products', 
      'meta_query' => array(
array(
       'key' => 'width', 
       'value' => $first, 
       'compare' => '>=' 
      ), 
      array(
       'key' => 'width', 
       'value' => $secnd, 
       'compare' => '=<' 
      ), 
      array(
       'key' => 'sink-type', 
       'value' => $sink, 
       'compare' => '=<' 
      ), 
      array(
       'key' => 'finish', 
       'value' => $finish, 
       'compare' => '=<' 
      ), 
      array(
       'key' => 'style', 
       'value' => $style, 
       'compare' => '=<' 
      ) 
) 
     )); 
Смежные вопросы