WordPress 自定义分类法在主题开发中的高级应用:为不同内容创建独立的归档页面
自定义分类法让 WordPress 可以管理比默认分类和标签更复杂的内容组织方式。在主题开发中,合理使用自定义分类法可以为网站提供更丰富的内容结构。
注册自定义分类法
自定义分类法的注册在 functions.php 中完成,通常挂在 init 钩子上。注册时需要指定分类法名称、关联的文章类型、标签、是否支持层级等参数。如果 hierarchical 参数设为 true,分类法类似默认分类,支持父子层级。如果设为 false,分类法类似标签,非层级。
自定义分类法的模板文件
WordPress 会自动为自定义分类法生成归档页面。模板查找顺序是 taxonomy-{分类法名称}-{术语别名}.php、taxonomy-{分类法名称}.php、archive.php、index.php。
例如,如果你注册了名为 product_category 的分类法,访问某个产品分类时,会优先查找 taxonomy-product_category-电子产品.php,然后查找 taxonomy-product_category.php。
在循环中使用自定义分类法
在 WP_Query 中,可以使用 tax_query 参数按自定义分类法筛选文章。tax_query 支持复杂条件,包括多分类交集、并集、排除等。
创建自定义分类法的下拉筛选
在后台的文章列表页面,可以添加自定义分类法的下拉筛选框,让编辑者按分类法快速筛选文章。这需要在 restrict_manage_posts 钩子中添加筛选控件,然后在 pre_get_posts 中处理筛选逻辑。
自定义分类法的面包屑导航
在自定义分类法的归档页面中,显示面包屑导航可以帮助用户了解当前位置。对于层级分类法,需要递归获取父级分类并构建导航路径。

