2016-11-23 6 views
2

Ich benutze den unten stehenden Code, um in Woocommerce-Produkten zu suchen, und ich möchte nach Kategorie in woocommerce suchen können. Wenn ich den Kategorieabschnitt deaktiviere, ist alles in Ordnung, aber wenn es aktiviert wird, wird nichts gefunden. Können Sie mir helfen, meinen Fehler zu finden?Woocommerce custom category search

<?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

zeigt es kein Produkt gefunden, wenn Sie "category_name" => $ _GET ['category'] 'aus' $ params' Array entfernen? –

+0

dann werden alle Produkte angezeigt – Sami

Antwort

1

ändern 'category_name' => $_GET['category'], zu '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... 
    ?> 

Probieren Sie es ... Es sollte funktionieren!

+0

Was ist mit $ s Variable? soll ich irgendein Feld dafür nehmen? – Sami

+0

Sie können einfach Suchzeichenfolge '' s '=> $ _GET [' s_query '] 'an $ param-Array übergeben, überprüfen Sie bitte den bearbeiteten Code. –

+0

Thnx viel :) ... – Sami

Verwandte Themen