So zeigen Sie alle Werte in der category.php-Seite mit post_type an

 
<img src="https://wordpress.stackexchange.com/questions/248557/how-to-show-all-values-in-category-php-page-using-post-type//images/logo.jpg" alt="">

Category

      <?php printf( __( '%s', '' ), '' . single_cat_title( '', false ) . '' ); ?>

      'product', 'orderby' => 'menu_order', 'order' => 'ASC', 'showposts' => 5) ); while ( $query->have_posts() ) { $query->the_post();?>

      <a href="https://wordpress.stackexchange.com/questions/248557/how-to-show-all-values-in-category-php-page-using-post-type/">

      <a href="https://wordpress.stackexchange.com/questions/248557/how-to-show-all-values-in-category-php-page-using-post-type/"><img src="https://wordpress.stackexchange.com/questions/248557/how-to-show-all-values-in-category-php-page-using-post-type//images/download.png" alt="">

      Hier ist meine WordPress-Kategorieseitencodierung.

      Als ich diesen Code in die category.php-Seite eingefügt habe, wird nur 1 Kategorie unter dem post_type von “Product” angezeigt.

      Zum Beispiel habe ich bereits 3 Kategorien erstellt: Kategorie 1, Kategorie 2, Kategorie 3 und jede Kategorie haben 3 Beiträge. Nach meinem obigen Code zeigt es nur 1 Beitrag.

      Aber ich möchte alle Beiträge unter jeder Kategorie veröffentlichen.

      Kann mir jemand helfen?

      Solutions Collecting From Web of "So zeigen Sie alle Werte in der category.php-Seite mit post_type an"

      Sie rufen wp_reset_postdata() und schließen die Schleife, bevor der Inhalt der Posts wp_reset_postdata() .

      Der WordPress-Codex bietet ein gutes Beispiel für die Erstellung einer benutzerdefinierten Abfrage:

       < ?php // example args $args = array( 'posts_per_page' => 3 ); // the query $the_query = new WP_Query( $args ); ?> < ?php if ( $the_query->have_posts() ) : ?>  < ?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?> < ?php the_title(); ?> < ?php the_excerpt(); ?> < ?php endwhile; ?>  < ?php wp_reset_postdata(); ?> < ?php else: ?> 

      < ?php _e( 'Sorry, no posts matched your criteria.' ); ?>

      < ?php endif; ?>

      Ich habe den Code für Sie hier korrigiert und einige Kommentare hinzugefügt:

       < ?php get_header(); ?> 

      Category

        < ?php if ( !dynamic_sidebar('Product Category') ) ?>
        < ?php if ( !dynamic_sidebar('Homepage Banner') ) ?>
      < ?php get_search_form(); ?>

      < ?php printf( __( '%s', '' ), '' . single_cat_title( '', false ) . '' ); ?>

      < ?php $query = new WP_Query( array( 'post_type' => 'product', 'orderby' => 'menu_order', 'order' => 'ASC', 'showposts' => 5) ); if ($query->have_posts()) : // Always check if there are any results before looping while ( $query->have_posts() ) { $query->the_post(); ?>
      < ?php the_post_thumbnail(); ?>

      < ?php the_title( ); ?>

      < ?php the_field('offer_price', $taxonomy); ?>

      < ?php the_field('price', $taxonomy); ?>

      < ?php } wp_reset_postdata(); // Called after the while loop for the query finishes endif; ?>
      < ?php get_footer(); ?>

      Bearbeiten: Nach dem Lesen Ihrer Kommentare scheint es, als ob Sie nur die Beiträge für die aktuelle Kategorie anzeigen möchten. Sie haben einen anderen Ansatz gewählt, indem Sie Ihre eigene WP-Abfrage eingerichtet haben. Sie müssen also ein weiteres Argument hinzufügen, um die Posts für die aktuell abgefragte Kategorie zu erhalten, indem Sie $wp_query->get_queried_object_id() .

      Ersetzen Sie Ihre $query = ... -line durch Folgendes:

       $query = new WP_Query( array( 'post_type' => 'product', 'orderby' => 'menu_order', 'order' => 'ASC', 'showposts' => 5, 'cat' => $wp_query->get_queried_object_id()) );