2017-05-23 9 views
1

私はworpdressには新しいです。私はちょうど私が作ったカスタムポストタイプで動作するようにこのクエリを取得しましたが、今は別の問題に遭遇しました。Wordpress Loopでカテゴリーと投稿を表示する

このページは、それぞれの商品カテゴリーで商品を表示することが前提です。私が作ったループは各製品を示していますが、すべての製品のカテゴリーは表示していません。

それはこのような何か見てのために私が意図した

CAT

  • ITEM
  • ITEM
  • ITEM
  • ITEM

CAT

  • ITEM
  • ITEM
  • ITEM
  • ITEM

しかし、その代わりに、私はこれだけ取得しています:

  • ITEM
  • ITEM
  • ITEMを

私はこのような何かを探していないよ:

  • ITEM、タイトルの下に猫
  • ITEM、タイトルの下に猫
  • ITEM、タイトル

    <?php 
    $args = array (
        'post_type' => 'products', 
        'posts_per_page' => 10, 
    ); 
    
    $loop = new WP_query($args); 
    
    if($loop->have_posts()): 
        while($loop->have_posts()): $loop->the_post(); ?> 
        <div class="post-loop-single"> 
         <div class="thumbnail-img"><a href="<?php the_permalink(); ?>"><span><?php the_post_thumbnail('post-thumb'); ?> </span></a></div> 
         <div class="post-loop-text"> 
         <div class="post-loop-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></div> 
         </div> 
        </div> 
        <?php endwhile; 
    endif; 
    

    下の猫?>

答えて

0

最初にget_terms()を使用してすべての製品カテゴリを取得し、tax_query in argumentを使用してこのカテゴリに関連した製品を入手してください。以下のコードをチェックしてください。

$args = array( 
     'orderby' => 'title', 
     'order'  => 'ASC', 
    ); 
$product_categories = get_terms('product_cat', $args); 
$count = count($product_categories); 
if ($count > 0){ 
    foreach ($product_categories as $product_category) { 

     echo '<h4><a href="' . get_term_link($product_category) . '">' . $product_category->name . '</a></h4>'; 
      $args =array('posts_per_page' => -1, 
         'post_type' => 'product', 
         'orderby' => 'title',         
         'tax_query' => array('relation' => 'AND', 
              array( 'taxonomy' => 'product_cat', 
               'field' => 'slug', 
               'terms' => $product_category->slug 
               ) 
              ), 
         ); 
      $products = new WP_Query($args); 

      while ($products->have_posts()) { $products->the_post(); ?> 

       <div class="post-loop-single"> 
        <div class="thumbnail-img"><a href="<?php the_permalink(); ?>"><span><?php the_post_thumbnail('post-thumb'); ?> </span></a></div> 
        <div class="post-loop-text"> 
         <div class="post-loop-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></div> 
        </div> 
       </div> 
    <?php } wp_reset_query(); 

    } 
} 
+0

返信ありがとうございます。コードは何とか私のために働かなかった。それはエコーの行に "キャッチ可能なエラー"があると言います。私のような他の質問を掘り下げていくには、foreachループを使用するのですが、私は現在、この特定のケースでまだそれを使用する方法を理解していません。 – icegene

+0

エラーとどのコードを試しているかの詳細をお知らせください。可能であればスクリーンショットを共有する –

関連する問題