WordPress mit Woocommerce benutzerdefinierte Abfrage

Ich bin neu zu wp dev und versuche herauszufinden, wie man die Abfrage woocommerce ersetzt oder ändert, macht, dass alle meine Produkte auf jeder Archivseite zeigt, oder Seite, die meine Liste der Produkte zeigt, nicht sicher, wie es heißt, aber die Seite, die zeigt das Bild, Name, Preis & Link zur Produktseite. Ich habe mehrere Kategorien, also denke ich, dass ich den Code hinzufügen musste, um die verschiedenen Kategorien abhängig davon anzuzeigen, auf welcher Katzenseite sie sich befinden? Es sei denn, ich sehe es mir zu tief an.

Ich versuche eine erweiterte Schleife zu erstellen, die mir Gruppen von Produkten basierend auf ein paar Dingen zeigt. Zuerst möchte ich alle vorgestellten Produkte sehen, dann möchte ich die Produkte sehen, die nicht älter als 6 Monate alt sind, dann alles andere in der Menüreihenfolge dann Titelreihenfolge aufsteigend.

Um es noch komplizierter zu machen, möchte ich keine Duplikate. Ich denke, dass mein Code funktioniert, aber ich bin mir nicht sicher, wo und wie ich ihn platzieren soll, damit er davon abhebt und meine Ergebnisse zeigt. Unten ist der Code, den ich benutze, ich lege ihn in die Woocommerce.php-Seite in meinem Child-Theme und er zeigt mir nichts, außer ich echo oder print_r etwas. So weiß ich, dass ich etwas vermisse, aber neu zu sein, weiß ich nicht, wonach ich suchen muss, um die Ergebnisse zu sehen.

Mein Code: (woocommerce.php)

 'product', 'orderby' => array( 'meta_value' => 'DESC' ), 'meta_key' => '_featured', 'posts_per_page' => $per_page, 'paged' => get_query_var( 'paged' ), ); $loop = new WP_Query( $args ); if (have_posts()) : while ($loop->have_posts()) : $loop->the_post(); $post_id = get_the_ID(); $do_not_duplicate[] = $post_id; endwhile; endif; rewind_posts(); //Second loop $args = array( 'post_type' => 'product', 'orderby' => 'date', 'order' => 'DESC', 'date_query' => array( array( 'before' => '6 months ago', ), ), 'post__not_in' => $do_not_duplicate ); $loop = new WP_Query( $args ); if (have_posts()) : while ($loop->have_posts()) : $loop->the_post(); $post_id = get_the_ID(); $do_not_duplicate[] = $post_id; endwhile; endif; rewind_posts(); //Third loop $args = array( 'post_type' => 'product', 'orderby' => array( 'menu_order' => 'ASC', 'title' => 'ASC', 'post__not_in' => $do_not_duplicate ), ); $loop = new WP_Query( $args ); if (have_posts()) : while ($loop->have_posts()) : $loop->the_post(); $post_id = get_the_ID(); $do_not_duplicate[] = $post_id; endwhile; endif; } else { // On main shop page $args = array( 'post_type' => 'product', 'orderby' => 'date', 'order' => 'DESC', 'posts_per_page' => $per_page, 'paged' => get_query_var( 'paged' ), ); } // Set the query $products = new WP_Query( $args ); // Standard loop if ( $products->have_posts() ) : while ( $products->have_posts() ) : $products->the_post(); endwhile; wp_reset_postdata(); endif; } else { // If not on archive page (cart, checkout, etc), do normal operations woocommerce_content(); } 

Jede Hilfe, um mich in die richtige Richtung zu lenken, wäre eine große Hilfe!

Aktualisieren

Ich habe vergessen, 'post_type' => 'product' in meine 'post_type' => 'product' (soeben aktualisiert), aber jetzt kann ich meine Titel sehen, wenn ich the_title(); hinzufüge the_title(); in meiner while-Schleife, wie sage ich es stattdessen, um alles auszuspucken, wie es für jede Archivseite wäre (eine Vorlage aufrufen?), auch wie ich es generischer mache, je nachdem, auf welcher Kategorie / Archivseite ich mich befinde werden nur Produkte für diese Kategorie angezeigt? Danke noch einmal!

Solutions Collecting From Web of "WordPress mit Woocommerce benutzerdefinierte Abfrage"

  // Standard loop if ( $products->have_posts() ) : while ( $products->have_posts() ) : $products->the_post(); endwhile; wp_reset_postdata(); endif; 

Dies zeigt buchstäblich keine Daten. Versuche, mindestens the_title(); da drin.

Die Seite, auf die Sie sich beziehen, ist archive-product.php das ist im Grunde Shop-Seite in woocommerce und über die Abfrage in woocommerce sprechen ich hoffe, dass Ihr Problem in Bezug auf diese Woocommerece-Schleife lösen kann