商品を含むカスタムCPTと商品カテゴリを含む分類法があります。これらのカテゴリを「商品」ページに表示する必要があります。特定のカテゴリをクリックすると、そのカテゴリに属する商品を表示する必要があります。
ちなみに、特定のカテゴリで[表示]をクリックすると、商品のタイトルが1つだけ表示されます。 CPT UIプラグインを使用してCPTと分類法を作成しました。
これが私のpage-products.phpテンプレートファイルのコードです(すべての製品がリストされています)。
<?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();
?>
カスタム分類のリストを取得するには、 get_terms()
関数を使用してループを作成します。
// 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
}
}