Wordpress - 在单个页面中使用自定义代码列出所有帖子的类别

时间:2014-10-20 23:05:06

标签: wordpress categories

首先,它应该在单页中使用。在单个帖子之后,我想显示帖子所属的类别。

这个的基本代码是<?php the_category(' | '); ?>,它输出一个简单的链接。然后我们<?php echo get_the_category_list(); ?>输出更具体的代码(http://codex.wordpress.org/Function_Reference/get_the_category_list):

<ul class="post-categories">
    <li>
        <a href="http://myblog.com/category/business" title="View all posts in Business" rel="category tag">Business</a>
    </li>
</ul>

但是我需要分解这段代码。例如,我希望<a>标记位于<li>标记之前。我有一个代码可以满足我的需求,但它应该显示我页面中可用的所有类别,即:

            <?php
                $categories = get_categories();
                foreach($categories as $category)
                {
            ?>
            <a href="<?php echo get_category_link($category->cat_ID); ?>"><li><?php echo $category->name ?> <span class="lower">(<?php echo $category->count ?>)</span></li></a>
            <?php
                }
            ?>

知道如何让这项工作成功吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

你可以使用get_the_category()返回你可以循环的类别对象,并根据你的需要做它们。

$category = get_the_category( /* $post_id */ ); 
print_r($category);
foreach($category as $cat) {
    ?>
    <a href="<?php echo get_category_link( $cat->term_id ); ?>"><?php echo $cat->name; ?></a>
    <?php
}

答案 1 :(得分:0)

<?php
    $category = get_the_category($post_id);
    foreach($category as $cat)
    {
?>
<a href="<?php echo get_category_link($cat->cat_ID); ?>"><li><?php echo $cat->name ?></li></a>
<?php
    }
?>