Php 单击帖子后无法访问单个目录标题()

Php 单击帖子后无法访问单个目录标题(),php,wordpress,Php,Wordpress,我在标题顶部有一段代码,可以为我的类别选择不同的背景。 使用菜单在类别之间导航时效果很好,但单击帖子进入single.php时,single_cat_title()似乎确实有效。我做错了什么?我怎样才能摆脱它 感谢single_cat_title()可以在类别页面上工作,因为类别包含在查询变量中。在单个页面上,查询变量中没有类别名称或id,只有post id <?php var_dump($wp_query->query_vars);?> 要查看查询变量,请在页面的标题或ca

我在标题顶部有一段代码,可以为我的类别选择不同的背景。 使用菜单在类别之间导航时效果很好,但单击帖子进入single.php时,single_cat_title()似乎确实有效。我做错了什么?我怎样才能摆脱它

感谢

single_cat_title()可以在类别页面上工作,因为类别包含在查询变量中。在单个页面上,查询变量中没有类别名称或id,只有post id

<?php var_dump($wp_query->query_vars);?>
要查看查询变量,请在页面的标题或category.php和single.php中包含以下内容以查看差异

    $skin_type = "green";

$category_id = get_cat_ID( single_cat_title("", false));
if($category_id == 218){
$skin_type = "blue";
}
编辑: 我意识到我将类别名称分配给上面的$category\u id,我已将对象属性更改为
cat\u id
,这是正确的属性

Udate在评论中回答问题 如果文章“SFSF”列在类别1、2、3和4中,并且您希望在single.php上查看文章时更改类别3的颜色,那么您必须将类别ID添加到您单击的链接中,假设您的导航是基于类别的。当您单击导航菜单中的类别3时,您将在查询字符串中看到

$skin_type = "green";

$post_id = $_GET['p'];    
$category = get_the_category($post_ID);
$category_id = $category[0]->**cat_ID**;

$if($category_id === 218){
    $skin_type = "blue;
}
让我们假设这是这篇文章的标题

"www.example.com/cat=3" 

您正在非类别页面上使用category.php模板标记。如果出现以下情况,则单个目录标题返回false!是标签还是!这是一个类别。尝试使用$wp_查询对象。谢谢。但是如果我想获得点击帖子的类别的类别id怎么办?假设帖子“sfsf”属于1、2、3和4,在3中被点击。我希望单个帖子停留在3而不是1。我通过编辑此答案回答了您的问题。如果我能帮上更多的忙,请告诉我。让我试试。我不知道你可以在永久链接的url中放置GET变量
<a href = "<?php the_permalink();?>/my_cat=<?php echo $_GET['cat'];?>">
    <?php the_title();?>
</a>
$skin_type = "green";

$category_id = $_GET['my_cat'];    

$if($category_id === 218){
    $skin_type = "blue;
}