2017-02-22 135 views
0

我的代码主要是工作,但有一个小问题。WordPress的列表中的所有类别和帖子

我期待看到这样的输出...

  • 国内
  • Ragdol

  • 帕格
  • 警犬

但不是我越来越:

  • 国内
  • Ragdol
  • 帕格
  • 个猎犬

  • 国内
  • Ragdol
  • 帕格
  • 警犬

正如你所看到的每一个岗位,在每个类别中被列,而不是只是每个职位的帖子(对不起 - 无意双关)各自的类别。

这里是我的代码:

<?php 
$cat_args = array(
'taxonomy' => 'animal_category' 
); 

$categories = get_categories($cat_args); 

foreach ($categories as $category) { 
$category_hero = get_field('hero', $taxonomy . '_' . $category->term_id); ?> 

<div class="gallery"> 

    <div class="gallery-hero"> 
     <h2><?php echo $category->name; ?></h2> 
     <img src="<?php echo $category_hero["sizes"]["Full"]; ?>" /> 
    </div> 


    <?php 
    $cat_ID = $category->id; 
    $post_args = array(
      'showposts'   => -1, 
      'post_type'   => 'gallery', 
      'offset'   => 0, 
      'category'   => $cat_ID 
     ); 
    $posts = get_posts($post_args); 

    foreach($posts as $post) { ?> 
     <div class="gallery-box"> 
      <?php $gallery_image = get_field("photos"); ?> 
      <a href="<?php the_permalink() ?>"> 
       <img src="<?php echo $gallery_image[0]["sizes"]["Medium"]; ?>" /> 
       <span><?php the_title(); ?></span> 
      </a> 
     </div> 
    <?php } ?> 


</div> 

一切看起来我的权利。我究竟做错了什么?

+0

检查此链接:http://stackoverflow.com/questions/25502227/display-posts-category-wise –

回答

1

您的代码有错误。使用下面的代码。我希望这会正常工作。

<?php 
$cat_args = array(
    'taxonomy' => 'animal_category' 
); 

$categories = get_categories($cat_args); 
foreach ($categories as $category) { 
$category_hero = get_field('hero', $taxonomy . '_' . $category->term_id); ?> 
<div class="gallery"> 

    <div class="gallery-hero"> 
     <h2><?php echo $category->name; ?></h2> 
     <img src="<?php echo $category_hero["sizes"]["Full"]; ?>" /> 
    </div> 


    <?php 
    $cat_ID = $category->term_id; 
    $post_args = array(
      'showposts'   => -1, 
      'post_type'   => 'gallery', 
      'offset'   => 0, 
      //'category'   => $cat_ID 
      'tax_query' => array(
       array(
        'taxonomy' => 'animal_category', 
        'field' => 'id', 
        'terms' => $cat_ID 
       ) 
      ) 
     ); 
    $posts = get_posts($post_args); 

    foreach($posts as $post) { ?> 
     <div class="gallery-box"> 
      <?php $gallery_image = get_field("photos"); ?> 
      <a href="<?php the_permalink() ?>"> 
       <img src="<?php echo $gallery_image[0]["sizes"]["Medium"]; ?>" /> 
       <span><?php the_title(); ?></span> 
      </a> 
     </div> 
    <?php } ?> 
</div> 
<?php } ?> 
相关问题