希望在WordPress中提取特定页面的类别ID,该ID列出了使用该特定类别的所有帖子。尝试以下内容,但不起作用。我可以使用获取类别名称single_term_title
。
$category = single_term_title("", false);
$catid = get_cat_ID( $category );
$category
例如显示“娱乐”。但是我还需要“娱乐”的ID。我将如何处理?
希望在WordPress中提取特定页面的类别ID,该ID列出了使用该特定类别的所有帖子。尝试以下内容,但不起作用。我可以使用获取类别名称single_term_title
。
$category = single_term_title("", false);
$catid = get_cat_ID( $category );
$category
例如显示“娱乐”。但是我还需要“娱乐”的ID。我将如何处理?
taxonomy-event-categories-entertainment.php
Answers:
您可以尝试使用get_the_category()
:
$categories = get_the_category();
$category_id = $categories[0]->cat_ID;
$categories
数组的输出。
如果是类别页面,则可以通过以下方式获取当前类别的ID:
$category = get_category( get_query_var( 'cat' ) );
$cat_id = $category->cat_ID;
如果要获取任何页面上任何特定类别的类别ID,请尝试使用:
$category_id = get_cat_ID('Category Name');
您可以使用的最古老但最快的方法是:
$cat_id = get_query_var('cat');
我使用get_queried_object函数在category.php模板页面上获取当前类别。
$current_category = get_queried_object();
Jordan Eldredge是正确的,get_the_category在这里不合适。
wp_reset_query();
以恢复默认的WP_Query实例。
我认为上面的某些方法可能有效,但是使用get_the_category函数似乎很棘手,可能会产生意外的结果。
我认为在类别页面中访问猫ID的最直接,最简单的方法是:
$wp_query->query_vars['cat']
干杯
我在类别模板页面中将其用于面包屑:
$cat_obj = $wp_query->get_queried_object();
$thiscat_id = $cat_obj->term_id;
$thiscat = get_category($thiscat_id);
$parentcat = get_category($thiscat->parent);
替代-
$catID = the_category_ID($echo=false);
编辑:不建议使用以上功能 get_the_category()
如果您需要类别ID,则可以通过get_query_var获得它,该ID能够检索所有公共可查询变量。
$category_id = get_query_var('cat');
这是获取类别名称的示例
$category_name = get_query_var('category_name');
当然还有所有强大的get_queried_object
$queried_object = get_queried_object();
返回完整的分类术语术语对象(在分类归档页面上使用时。)
$cats = wp_get_post_terms( $post->ID, 'product_cat' );
foreach($cats as $cat){
/*check for category having parent or not except category id=1 which is wordpress default category (Uncategorized)*/
if($cat->parent != '0' && $cat->term_id != 1){
echo '<h2 class="link"><a href="'.get_category_link($cat->term_id ).'">'.$cat->name.'</a></h2>';
break;
}
}