从自定义帖子类型中按ID获取类别名称

时间:2014-01-09 18:34:42

标签: php wordpress

我正在尝试弄清楚当它是自定义帖子类型的一部分时,如何通过它的ID获取类别名称/标题。

在这个例子中,我正在使用漫画画架,而对于“漫画”的自定义帖子类型,你有“章节”,基本上你添加的每个章节都有一个ID。在我的例子中,第1章(它是slug)的ID为7。

我发现,对于为WP帖子或页面创建的类别(这是有道理的)常规方式,您不能按ID为自定义帖子类型调用类别。

这是一个漫画档案页面,其中功能是漫画页面的缩略图生成,因为它们是按照它们被分类的章节发布和组织的。

以下是我用于生成特定章节中这些页面的缩略图,页面标题和发布日期的代码:

<div class="pagerow" id="Chapter 1">
<?php 
  $comicpage_loop = new WP_Query( array( 'chapters' => 'chapter-1', 'post_type' => 'comic', 'posts_per_page' => '999', get_post_meta($post->ID, 'ep_comic_posts_per_page', true), 'order' => 'ASC')); 
?>

<h2 class="chaptitle"></h2>
 <?php 
  while ($comicpage_loop->have_posts()) : $comicpage_loop->the_post();
 ?>

<div class="pages">
 <div class="pagetitle"><?php the_title(); ?></div>
    <div class="pagethumb">
    <a href="<?php the_permalink(); ?>">
     <?php 
       the_post_thumbnail('custom-2'); 
     ?>
    </a>
    </div>
  <div class="pubdate"><?php the_time('F j, Y') ?></div>
 </div>

  <?php endwhile; ?>
</div>

请参阅h2标签“chaptitle”?这就是我想要章节即“第1章”的地方。

有没有办法在我已经进行的查询中拉出并显示章节名称?

修改

好的,按照Boris的建议,我也找到了一个get_term_child的例子(我没有使用子部分,但其余的语法似乎很有帮助。这就是我最终得到的内容,它确实显示了章节标题:

<?php
$term_id = 7;
$taxonomy_name = 'chapters';
$chapname = get_term($term_id, $taxonomy);
?>

<h2 class="chaptitle"><?php echo $chapname->name; ?></h2>

这是对的吗?

编辑2

我也发现将此添加到我的主查询作为替代方法:

$chapname = get_term($term_id = 7, $taxonomy_name ='chapters'),

我想知道,有没有办法在这个查询中获取类别ID,所以我不必为$ term_id添加“7”? 对我来说,不必对id进行硬编码是理想的。

1 个答案:

答案 0 :(得分:1)

您可以使用get_term,其中第二个参数为taxonomy

http://codex.wordpress.org/Function_Reference/get_term