get_category_by_slug()
云策文档标注
概述
get_category_by_slug() 函数通过分类别名(slug)检索分类对象,返回对象或 false。它内部调用 get_term_by() 并处理兼容性。
关键要点
- 参数:$slug(字符串,必需),指定分类别名
- 返回值:成功时返回分类数据对象(WP_Term 实例),未找到时返回 false
- 内部实现:基于 get_term_by('slug', $slug, 'category'),并调用 _make_cat_compat() 确保向后兼容
- 替代方法:可直接使用 get_term_by('slug', $slug, 'category') 达到相同效果
- 版本历史:自 WordPress 2.3.0 引入
代码示例
$idObj = get_category_by_slug( 'category-slug' );
if ( $idObj instanceof WP_Term ) {
$id = $idObj->term_id;
}注意事项
- 函数返回 false 表示未找到分类,调用时应检查返回值以避免错误
- 相关函数:_make_cat_compat() 用于更新分类结构,get_term_by() 用于通用术语检索
原文内容
Retrieves a category object by category slug.
Parameters
$slugstringrequired-
The category slug.
Source
function get_category_by_slug( $slug ) {
$category = get_term_by( 'slug', $slug, 'category' );
if ( $category ) {
_make_cat_compat( $category );
}
return $category;
}
Changelog
| Version | Description |
|---|---|
| 2.3.0 | Introduced. |
Skip to note 4 content
Ivan Shulev
Returns false if not found
Skip to note 5 content
Ivan Shulev
Example
$idObj = get_category_by_slug( 'category-slug' ); if ( $idObj instanceof WP_Term ) { $id = $idObj->term_id; }Skip to note 6 content
Steven Lin
Example migrated from Codex:
term_id; ?>