Nach benutzerdefiniertem Posttyp sortieren (Mehrfachschleife)

Ich habe mein Setup leicht geändert, um zwei separate Post-Typen “Premium Listing” und “Free Listing” und eine Taxonomie für Listing_category zu haben.

Hier ist ein Beispiel für meinen Loop. Die Idee ist, Premium-Einträge anzuzeigen, gefolgt von kostenlosen Angeboten auf der Archivseite meiner Taxonomie.

Dies scheint aber zu funktionieren, wenn ich es zu meiner taxonomy_listing_category.php hinzufüge, bekomme ich Ergebnisse, die nicht spezifisch für meine Taxonomie sind.

Zum Beispiel http://www.domain.com/listing_category/carriers/ sollte 1 Premium und dann kostenlose Angebote mit Taxonomie Carriers zeigen, aber es zeigt alle Taxonomien.

Der Code ist unten

 'premium_listing', 'orderby' => 'rand', ); $the_query = new WP_Query( $args ); ?> have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>       'free_listings', 'post_per_page' => 1, 'orderby' => 'rand', ); $the_query = new WP_Query( $args );?> have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>   

Sorry, there are no posts to display

Mein Theme hat keine archive.php, daher habe ich die index.php als Basis für die Erstellung von taxonomy_listing_category.php verwendet

Irgendwelche Ideen Richard.

Richard

Solutions Collecting From Web of "Nach benutzerdefiniertem Posttyp sortieren (Mehrfachschleife)"

Haben Sie den richtigen Namen für die Taxonomievorlage angegeben? Ich denke, es sollte “taxonomy-listing_category.php” sein. Siehe Custom_Taxonomies_display

Oder fügst du es anders ein?

Mit der neuen WP_Query verwenden Sie nicht die Standardabfrage, die die Abfragevariablen für die Taxonomie und den Begriff enthält. Sie können die Taxonomie und ihren Begriff jedoch zu den Abfragen hinzufügen, damit nur noch Beiträge zurückgegeben werden, denen der Begriff aus der Taxonomie zugewiesen wurde.

Siehe den Parameter tax_query

 < ?php $current_term = get_query_var( 'term' ); $args = array( 'post_type' => 'premium_listing', 'orderby' => 'rand', 'tax_query' => array( array( 'taxonomy' => 'listing_category', 'field' => 'slug', 'terms' => $current_term , ) ) ); $the_query = new WP_Query( $args ); ?> < ?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> < ?php the_title(); ?> < ?php endwhile; wp_reset_postdata(); else: ?> < ?php get_template_part( 'inc/posts/post-404' );?> < ?php endif; ?> < ?php $args = array( 'post_type' => 'free_listings', 'post_per_page' => 1, 'orderby' => 'rand', 'tax_query' => array( array( 'taxonomy' => 'listing_category', 'field' => 'slug', 'terms' => $current_term , ) ) ); $the_query = new WP_Query( $args );?> < ?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> < ?php the_title() ;?> < ?php endwhile; wp_reset_postdata(); else: ?> 

Sorry, there are no posts to display

< ?php endif; ?>