it-swarm.com.de

Wie liste ich benutzerdefinierte Taxonomiekategorien auf?

Ich habe eine benutzerdefinierte CPT, die Produkte enthält, und eine Taxonomie, die Produktkategorien enthält. Ich muss diese Kategorien auf der Seite 'Produkte' anzeigen und wenn ich auf eine bestimmte Kategorie klicke, muss sie die Produkte anzeigen, die zur Kategorie gehören.

Übrigens, wenn ich in einer bestimmten Kategorie auf "Ansicht" klicke, wird nur der Titel eines Produkts angezeigt. Ich habe das CPT und die Taxonomie mit dem CPT-UI-Plugin erstellt.

Hier ist mein Code für die Vorlagendatei page-products.php (in der alle Produkte aufgelistet sind):

<?php
/* Template Name: Products
*/
?>

 <?php get_header('header.php') ?>

 <!--Opening container or wrap outside of the loop-->
 <div class="container my-container">
 <!--start the loop-->
   <?php
   $args=array(
    'post_type' => 'product',
   'post_status' => 'publish',
   'posts_per_page' => 10,
)    ;

$the_query = null;
$the_query = new WP_Query($args);

if( $the_query->have_posts() ) {

$i = 0;
while ($the_query->have_posts()) : $the_query->the_post();

if($i % 3 == 0) { ?>

<div class="row">

<?php
}
?>

<div class="col-md-4">
  <div class="my-inner">
    <?php the_post_thumbnail(); ?>
    <div class="title"><a href="<?php the_permalink(); ?>"><?php 
the_title(); ?></a></div>
    <?php the_excerpt(); ?>
  </div>
</div>

  <?php $i++;
  if($i != 0 && $i % 3 == 0) { ?>
    </div><!--/.row-->
    <div class="clearfix">fgfd</div>

  <?php
   } ?>

  <?php
    endwhile;
    }
    wp_reset_query();
    ?>
1
oksite

Um eine Liste Ihrer benutzerdefinierten Taxonomien abzurufen, können Sie mit der Funktion get_terms() eine Schleife erstellen:

// Get the taxonomy's terms
$terms = get_terms(
    array(
        'taxonomy'   => 'your-taxonomy',
        'hide_empty' => false,
    )
);

// Check if any term exists
if ( ! empty( $terms ) && is_array( $terms ) ) {
    // Run a loop and print them all
    foreach ( $terms as $term ) { ?>
        <a href="<?php echo esc_url( get_term_link( $term ) ) ?>">
            <?php echo $term->name; ?>
        </a><?php
    }
} 
1
Jack Johansson