如何用Rank Math批量设置三级分类标题为指定结构?
用Rank Math批量实现三级分类标题自定义排序
可以通过Rank Math的自定义变量+模板功能实现批量设置,具体步骤如下:
1. 注册自定义变量获取父级/祖父级分类名称
Rank Math默认变量无法直接获取多层级分类名称,需要添加代码注册自定义变量,用来提取二级分类(父级)和主分类(祖父级)的名称:
将以下代码添加到主题的functions.php文件,或使用Code Snippets这类自定义代码插件:
add_action('rank_math/vars/register_extra_vars', function() { // 注册二级分类名称变量 rank_math_register_var( 'parent_category_name', [ 'name' => 'Parent Category Name', 'description' => 'Name of the direct parent category', 'variable' => 'parent_category_name', 'value' => function() { $term = get_queried_object(); if (!is_a($term, 'WP_Term')) return ''; $parent = get_term($term->parent); return $parent ? $parent->name : ''; }, ] ); // 注册主分类(祖父级)名称变量 rank_math_register_var( 'grandparent_category_name', [ 'name' => 'Grandparent Category Name', 'description' => 'Name of the grandparent category', 'variable' => 'grandparent_category_name', 'value' => function() { $term = get_queried_object(); if (!is_a($term, 'WP_Term')) return ''; $parent = get_term($term->parent); if (!$parent) return ''; $grandparent = get_term($parent->parent); return $grandparent ? $grandparent->name : ''; }, ] ); });
2. 设置分类标题模板
进入Rank Math后台 → 标题与元数据 → 分类(Categories),在「分类标题」输入框中填入以下模板:
%term% %grandparent_category_name% %parent_category_name%
%term%:当前分类名称(即三级分类名,如2022)%grandparent_category_name%:主分类名称(如Iphone)%parent_category_name%:二级分类名称(如13 Pro Max)
这个模板会自动按照「三级分类名-主分类名-二级分类名」的顺序拼接标题,完全匹配你的需求。
3. 适配不同层级分类(可选)
如果你的网站存在二级或一级分类,可添加条件判断让标题自动适配:
%if(grandparent_category_name)% %term% %grandparent_category_name% %parent_category_name% %elseif(parent_category_name)% %term% %parent_category_name% %else% %term% %endif%
- 三级分类:显示「三级-主-二级」
- 二级分类:显示「二级-主」
- 一级分类:显示自身名称
4. 测试生效
保存设置后,打开任意三级分类页面,查看页面源代码中的<title>标签,确认标题格式是否符合预期。Rank Math会自动为所有分类批量生成标题,无需手动修改。
内容的提问来源于stack exchange,提问作者aross
相关产品推荐
相关产品推荐

