get_category_link()没有显示任何内容

时间:2012-06-16 07:35:47

标签: php wordpress

我创建了一个带有以下代码的自定义sidebar-wallpaper-sidebar.php。除了链接外,一切都很完美。

<div id="wallpaper-categories" class="widget widget_categories">
    <h4 class="widgettitle">Wallpaper Categories</h4>
    <ul>
    <?php
        $args = array( 'type' => 'post' , 'taxonomy' => 'wallpaper' , 'order' => 'ASC' , 'orderby' => 'name' );
        $categories = get_categories($args);
        foreach ($categories as $category) {
    ?>
        <li class="cat-item cat-item-<?php echo $category->cat_ID; ?>">
            <a title="<?php echo sprintf( __( "View all posts in %s" ), $category->name ); ?>" href="<?php get_category_link( $category->term_id ); ?>"><?php echo $category->name; ?></a>
        </li>
    <?php
        }
    ?>
    </ul>       
</div>

2 个答案:

答案 0 :(得分:0)

get_category_link()仅返回链接,但不会打印它。您需要将<?php get_category_link($category->term_id) ?>更改为<?php echo get_category_link($category->term_id) ?>

在大多数情况下,这也是最有可能出现需要打印但不打印的情况的罪魁祸首,因此在这种情况下首先应该检查echo

另外,请尝试将get_category_link($category->term_id)更改为get_category_link($category->cat_ID)。我看到WP Codex中的get_categories示例使用term_id,但get_category_link的文档清楚地表明它希望传递类别ID。

答案 1 :(得分:0)

试试这样:

<?php echo get_category_link( $category->term_id ); ?>