2016-11-23 9 views
2

私はwoocommerce製品で検索するために以下のコードを使用しています。私はwoocommerceでカテゴリ別に検索できるようにしたいと思います。 カテゴリセクションを無効にすると、すべてが正常ですが、有効にすると何も見つかりません。 私の間違いを見つけるのを助けることができますか?Woocommerceカスタムカテゴリ検索

<?php 
    $params = array(
     'posts_per_page' => 12, 
     'post_type' => 'product', 
     'category_name' => $_GET['category'], 
    ); 

    $wc_query = new WP_Query($params); 
?> 
<?php if ($wc_query->have_posts()) : ?> 
    <?php woocommerce_product_loop_start(); ?> 
    <?php woocommerce_product_subcategories(); ?> 
    <?php while ($wc_query->have_posts()) : $wc_query->the_post(); ?> 
     <?php wc_get_template_part('content', 'product'); ?> 
    <?php endwhile; // end of the loop. ?> 
    <?php woocommerce_product_loop_end(); ?> 
<?php elseif (! woocommerce_product_subcategories(array('before' => woocommerce_product_loop_start(false), 'after' => woocommerce_product_loop_end(false)))) : ?> 
    <?php wc_get_template('loop/no-products-found.php'); ?> 
<?php endif; ?> 
+0

'' $ params'配列から ''category_name' => $ _GET ['category']'を削除すると商品が見つかりませんか? –

+0

すべての商品が表示されます – Sami

答えて

1

変更'category_name' => $_GET['category'],

<?php 
    $params = array(
      'posts_per_page' => 12, 
      'post_type' => 'product', 
      'product_cat' => $_GET['category'], 
      's' => $_GET['s_query'] // search text 
     ); 
     // and so on... 
    ?> 

'product_cat' => $_GET['category'],にそれを試してみてください...それは動作するはずです!

+0

$ sについて私はそれのためのフィールドを取る必要がありますか? – Sami

+0

検索文字列 ''s' => $ _GET ['s_query']'を$ param配列に渡すだけで、編集したコードを確認してください。 –

+0

thnxたくさん:) ... – Sami

関連する問題