我确信这是一个基本问题,但我一直在尝试各种解决方案,但没有任何工作。
我有一个Wordpress帖子页面,我只想链接到该帖子的类别。但是,我无法找到获得当前帖子类别链接的方法。想法?
编辑:
这似乎应该有效的解决方案:
<?php
$category = get_the_category();
$category_id = $category->cat_ID;
?>
<a class="button" href="<?php get_category_link( $category_id ); ?>">← Back to Portfolio</a>
答案 0 :(得分:1)
get_ *函数是返回函数。它们实际上并不打印任何东西。根据您的代码示例,您需要的只是一个echo语句:
<?php
global $post;
$category = reset(get_the_category($post->ID));
$category_id = $category->cat_ID;
?>
<a class="button" href="<?php echo get_category_link( $category_id ); ?>">← Back to Portfolio</a>
ALTERNATIVE:这样做的最佳方法是将所有内容保留在循环中,以便在单个视图或归档视图中重复使用,并结合使用wp_get_post_categories。这是未经测试的,但它应该让您开始使用通用方法列出与给定帖子或帖子集相关联的类别:
<?php
if(have_posts()) : while(have_posts()) : the_post();
$cats = wp_get_post_categories($post->ID);
if($cats) : foreach($cats as $cat) : $category = get_category($cat);
?>
<a class="button" href="<?php echo get_category_link($category->cat_ID); ?>">← <?php echo $category->name ?></a>
<?php
endforeach;endif;
endwhile;endif;
?>
答案 1 :(得分:0)
查看链接get_the_category()。
global $post;
$category = get_the_category($post->ID);
if($category){
echo '<a href="'.get_category_link($category->term_id).'">'.$category->cat_name.'</a>';
}