2017-06-27 8 views
0

Wordpressのカスタム投稿の投稿からすべての投稿をリストし、カスタム分類法で作成したタイトルとそれぞれのカテゴリのみを表示する必要があります。私のコードはここにあり、私はタクソノミでいくつかの問題があります。すべての記事とそれぞれのタクソノミをWordpressで一覧表示する

<?php 
$args = array(
    'post_type' => 'books', 
    'posts_per_page' => -1); 
$myposts = get_posts($args); 
$terms = get_the_terms($post->ID , 'category'); 
foreach ($myposts as $post) : setup_postdata($post); ?> 
    <h1><?php echo the_title(); ?></h1> 
    <p>Category: <?php echo $term->name; ?></p> 
<?php endforeach; 
wp_reset_postdata();?> 

答えて

1

ここにあなたの更新されたコードだ、これを試してみてください。

<?php 
$args = array(
    'post_type' => 'books', 
    'posts_per_page' => -1); 
$myposts = get_posts($args); 
$terms = get_the_terms($post->ID , 'category'); 
foreach ($myposts as $post) : setup_postdata($post); ?> 
    <h1><?php echo the_title(); ?></h1> 
    <?php $categories = get_the_category($post->ID); ?> 
    <?php if(! empty($categories)): ?> 
     <?php foreach($categories as $category): ?> 
      <p>Category: <?php echo $category->name; ?></p> 
      <?php break; ?> 
     <?php endforeach; ?> 
    <?php endif; ?> 
<?php endforeach; 
wp_reset_postdata();?> 
+0

ありがとうございます@ nerijus-masikonisが、カテゴリを表示していません。 =( –

1
<?php $args = array(
      'post_type' => 'books', 
      'posts_per_page' => -1,  
       'tax_query' => array(
      array(
       'taxonomy' => 'category', 
       'field' => 'slug' 

      ), 
     ), 
    ); 
    $myposts = new WP_Query($args); 
    foreach ($myposts as $post) : setup_postdata($post) ?> 
     <h1><?php echo the_title(); ?></h1> 
    <?php $categories = get_the_category(get_the_ID()); ?> 
    <?php if(! empty($categories)): ?> 
     <?php foreach($categories as $category): ?> 
      <p>Category: <?php echo $category->name; ?></p> 
      <?php break; ?> 
     <?php endforeach; ?> 
    <?php endif; ?> 
<?php endforeach; 
wp_reset_postdata();?>  

注: - 今、あなたは、カテゴリtaxnomoyを持っているすべてのポストを取得します。あなたは間違ったやり方でいます。問題が見つかったら正しい結果が得られます。私にお知らせください。

0

私はそれを手に入れました!全てに感謝!

<?php 
    $terms = get_terms($post_taxonomy); 
    $args = array(
     'post_type' => 'book', 
     'posts_per_page' => -1, 
     'post_taxonomy' => 'category', 
    ); 
    $the_query = new WP_Query($args); 
?> 

<?php if ($the_query->have_posts()) : ?> 
    <?php while ($the_query->have_posts()) : $the_query->the_post(); 

    $category = get_the_terms($post->ID, "category"); 
    $category_name = ""; 
     foreach ($category as $term) { 
      $category_name .= $term->name.' '; 
     } 
    ?> 

    <h1><?php the_title(); ?></h1> 
    <p>Category: <?php echo $category_name; ?></p> 


    <?php endwhile; ?> 
<?php endif; ?> 
関連する問題