WordPress显示错误的类别名称

时间:2014-10-10 作者:Dave

我正在使用:

$category = get_the_category();
echo $category[0]->cat_name;
在存档模板中将当前类别显示为标题(本地url的示例为http://imac.local:5757/category/accommodation/, http://imac.local:5757/category/service/ etc)

对于前3个类别,这很好,但之后它将显示一个子类别。我尝试过更改帖子的slug和类别,更新永久链接,取消发布正在显示的子类别中的帖子(然后显示另一个子类别),但这些都不能解决问题。

我想这是一场枪战;permalinks在某个地方,但改变这些似乎并不能解决它。是否有更具体的wordpress php可以编写来避免这种冲突?

我确实找到了以下帖子:Archived Posts in Wrong Category 但这似乎不是同一个问题。

谢谢

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

据我所知,在查看类别页面时,您需要显示当前页面的类别名称。

您可以使用查询变量来检索类别名称,例如:

$category = get_queried_object(\'cat\'); 
echo $category->name;

EDIT

全局检查要查看特定页面/模板的主查询返回的内容,可以执行以下操作var_dump 全局主查询的,$wp_query. 在循环外部的模板中添加以下代码

?><pre><?php var_dump($wp_query); ?></pre><?php 
要检查模板/页面上有哪些查询变量可用,可以执行var_dump 属于get_queried_object()

$queried_object = get_queried_object();
 var_dump( $queried_object );
Here 也是所有查询变量的列表

结束

相关推荐

Show Pages in Categories

通过将此代码添加到函数中,我创建了category函数。php:function page_category() { register_taxonomy_for_object_type(\'category\', \'page\'); } // Add to the admin_init hook of your theme functions.php file add_action( \'init\', \'page_category\' ); 但问