web-dev-qa-db-ja.com

カスタム分類カテゴリを一覧表示する方法

商品を含むカスタム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();
    ?>
1
oksite

カスタム分類のリストを取得するには、 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
    }
} 
1
Jack Johansson