EDIT
根据您的评论,您正在使用
get_cat_ID()
完全错了。您只能向其提供一个类别。请遵循所给的所有链接,并检查抄本中的示例。另外,如前所述,启用调试,因为这是您应该发现的所有问题
其次,您似乎使用的是自定义分类法,而不是内置的类别结构,在这种情况下,我原始答案中的任何建议都不会起作用。请退房this post 我已经讨论了类别和自定义分类法之间的区别
我现在没有时间编写代码(我也不太明白您到底想要什么),但这里有一些链接,您应该从codex中查看,并遵循这些页面上给出的示例。
ORIGINAL ANSWER
我认为你的代码根本不起作用。这里有几个错误
在我直接进入错误之前,请参见Debugging_in_WordPress 因为大多数问题都应该在启用调试的情况下解决
现在,对于错误
使用时需要指定类别in_category()
$category
(混合)(必需)由ID(整数)、名称或slug(字符串)或其数组指定的一个或多个类别
默认值:无
决不要将任何URL硬编码到主题或插件中。适当时使用相对或绝对路径。硬编码的问题是,默认情况下,主题或插件不能在其他域上使用
使用时get_the_category()
, 实际上,您必须为$id
. 只是简单地添加$id
将导致未定义的变量通知。您可以将其留空、提供实际的帖子ID或使用$post->ID
要使用当前的帖子ID(顺便说一句,这是默认的,因此无需这样做,只需将其保留为空)
要获取类别页面的URL(链接),请使用get_category_link()
您可能可以尝试以下内容:(抄本样本)
if( in_category( \'ID, name or slug of the category\' ) && in_the_loop() ) {
// Get the ID of a given category
$category_id = get_cat_ID( \'Category Name\' );
// Get the URL of this category
$category_link = get_category_link( $category_id );
?>
<!-- Print a link to this category -->
<a href="<?php echo esc_url( $category_link ); ?>" title="Category Name">Category Name</a>
<?php
}else{
//displays nothing
}