Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取活动页面的当前类别ID_Php_Wordpress_Wordpress Theming_Categories - Fatal编程技术网

Php 获取活动页面的当前类别ID

Php 获取活动页面的当前类别ID,php,wordpress,wordpress-theming,categories,Php,Wordpress,Wordpress Theming,Categories,正在查找WordPress中某个特定页面的类别ID,该页面列出了使用该特定类别的所有帖子。尝试了下面的方法,但不起作用。我可以使用单个术语\u标题获取类别名称 $category = single_term_title("", false); $catid = get_cat_ID( $category ); $category例如显示“娱乐”。但我还需要“娱乐”的身份证。我该怎么做呢?您可以尝试使用: 如果是类别页面,您可以通过以下方式获取当前类别的id: $category = get_c

正在查找WordPress中某个特定页面的类别ID,该页面列出了使用该特定类别的所有帖子。尝试了下面的方法,但不起作用。我可以使用
单个术语\u标题
获取类别名称

$category = single_term_title("", false);
$catid = get_cat_ID( $category );
$category
例如显示“娱乐”。但我还需要“娱乐”的身份证。我该怎么做呢?

您可以尝试使用:


如果是类别页面,您可以通过以下方式获取当前类别的id:

$category = get_category( get_query_var( 'cat' ) );
$cat_id = $category->cat_ID;
如果要获取任何页面上任何特定类别的类别id,请尝试使用:

$category_id = get_cat_ID('Category Name');

我在寻找你所问的问题时发现了这个问题。不幸的是,你接受了一个错误的答案。为了其他人的利益,我想我应该给出正确的答案

$cur_cat = get_cat_ID( single_cat_title("",false) );

正如你所说的,
single\u term\u title(“”,false)
正确地返回了类别标题,我不知道为什么您的代码会有问题;但是上面的代码对我来说完美无瑕。

最古老但最快的使用方法是:

$cat_id = get_query_var('cat');

我认为上面的一些方法可能有效,但使用get_the_category函数似乎很棘手,可能会产生意想不到的结果

我认为在类别页面中访问cat ID最直接、最简单的方法是:

$wp_query->query_vars['cat']

Cheers

我使用get_queryed_object函数在category.php模板页面上获取当前类别

$current_category = get_queried_object();
乔丹·埃尔德雷奇是对的,你知道这类人不适合这里

备选方案-

 $catID = the_category_ID($echo=false);

编辑:以上函数已弃用,请使用
获取类别()

我在类别模板页面中对面包屑使用此函数:

$cat_obj = $wp_query->get_queried_object();
$thiscat_id = $cat_obj->term_id;
$thiscat = get_category($thiscat_id);
$parentcat = get_category($thiscat->parent);
$cats=wp\u get\u post\u术语($post->ID,'product\u cat');
foreach($cats作为$cat){
/*检查类别是否有父类别,类别id=1除外,类别id=1为wordpress默认类别(未分类)*/
如果($cat->parent!=“0”&&$cat->term\u id!=1){
回声';
打破
}
}

上面尝试了查找帖子cat ID的解决方案,但没有效果,而是使用了以下方法:

$obj = get_queried_object();
$c_id = wp_get_post_categories($obj->ID);

如果您需要category ID,您可以通过获取它,它能够检索所有公开的queryble变量

$category_id = get_query_var('cat');
下面是获取类别名称的示例

$category_name = get_query_var('category_name');
当然还有全能者



返回完整的分类术语对象(在分类存档页上使用时…)

它是普通类别页还是自定义页模板?它是自定义分类法-尝试在名为
taxonomy event categories entertainment.php的文件中使用它->cat_ID是准确的。此方法实际上检查页面上第一篇文章的第一个类别。如果没有帖子或第一篇帖子有多个类别,则此操作将失败或返回不正确的信息。我同意@JordanEldredge的说法,此操作将返回不正确的信息。此操作将返回页面第一篇帖子的第一个类别。如果查看的页面是子类别,则此操作也将失败。检查
$categories
数组的输出。这正是我想要的。如果你正在创建一个通用类别模板,那么比上面的答案要好,因为你只得到页面将显示的类别,而不是上面的多类别数组。这对我来说非常有效。我在获得身份证时遇到了问题,工作很愉快。节省时间:)需要替换正确答案!答案标记正确,误导了我。这个答案有一些不必要的代码。第一行代码通过使用一个参数category ID(因为这是get_query_var('cat')返回的)获取get_category函数中的完整类别数据。第二行代码实际上从数据中检索id。这意味着get_category函数在这里完全没有使用,如果有人只想要id,那么就应该使用get_query_var('cat')!谢谢,这对我也有帮助!这看起来很完美。与拉姆·梅哈尔·德斯瓦尔的回答相比,这有缺点吗?这实际上是一个有效的解决方案,它将显示被浏览页面的类别。@dewd在拉姆·梅哈尔·德斯瓦尔的回答中查找巴托斯·戈尔斯基的评论。他是完全正确的,这个答案就在这里,你所需要的一切。@honk31 thx为我指出,你是一个好公民,所以你!:)get_query_var('cat')对于meNice来说是错误的,以前从未见过这个。如果结果不是预期的结果,请调用
wp_reset_query()
来还原默认的WP_查询实例。这实际上是我发现的最有用的Wordpress函数。它在任何地方都可用:页面、文章、类别等。仅供参考:此功能已被弃用。完美!谢谢
$category_id = get_query_var('cat');
$category_name = get_query_var('category_name');
$queried_object = get_queried_object();