在类别帖子上方显示类别名称

时间:2015-09-10 23:17:02

标签: php wordpress categories custom-post-type

我正在尝试将类别名称显示在帖子上方。我正在定制骨头而且有点卡住了。

这是显示我的帖子的代码,我在wp admin中分别有一个类别。我只是不确定如何让类别显示在相应的帖子上方。

希望这是有道理的。在此先感谢!!

<?php 
      $args = array( 'post_type' => 'custom_type', 'posts_per_page' => 100 );
      $the_query = new WP_Query( $args ); 
      ?>
      <?php if ( $the_query->have_posts() ) { ?>
      <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
      <h2><?php the_title(); ?></h2>
      <div class="entry-content">
      <?php the_content(); ?> 
      </div>
      <?php endwhile; ?>
      <?php wp_reset_postdata(); ?>
      <?php } else { ?>
      <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
      <?php } ?>

3 个答案:

答案 0 :(得分:0)

看起来你正在做一个自定义循环(而不是“循环”),因此你需要将帖子的id传递给get_the_category。但是,根据文档判断,似乎WP_Query-&gt; the_post()设置了全局帖子。

所以,如果这不起作用:

<h2><?php echo get_the_category() ?></h2>

你会这样做:

$postsQuery = new WP_Query( $args );
$posts = $postQuery->get_posts(); 
foreach ( $posts as $i => $e ) {
   $category = get_the_category($e->ID);
}

https://developer.wordpress.org/reference/functions/get_the_category/

https://codex.wordpress.org/Class_Reference/WP_Query

https://codex.wordpress.org/The_Loop

答案 1 :(得分:0)

您好我无法在评论中发帖,但是如果上面的答案对您有用,因为您在评论中发布但由于发布了很多类别的帖子而导致获得类别的问题,因此您需要从中获取第一个类别数组。使用下面的代码段:

if ( ! empty( $category ) ) {
    echo '<a href="' . esc_url( get_category_link( $category[0]->term_id ) ) . '">' . esc_html( $category[0]->name ) . '</a>';
}

答案 2 :(得分:0)

您可以使用<?php the_category();?>之类的内容。这将返回带有链接的类别名称。希望这能帮到你!