2016-11-23 136 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'],'product_cat' => $_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... 
    ?> 

尝试...它应该工作!

+0

$ s是什么变量?我应该为此采取任何领域? – Sami

+0

您可以简单地将搜索字符串''s'=> $ _GET ['s_query']'传递给$ param数组,请检查编辑好的代码。 –

+0

thnx很多:) ... – Sami