You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress:仅为特定分类页面设置含分类的固定链接

实现WordPress分类特定的Permalink结构

以下是纯PHP代码实现方案,无需插件,分步骤完成:

1. 自定义Permalink生成逻辑

通过post_link过滤器,判断内容是否属于downloads分类,为其添加专属前缀:

add_filter('post_link', 'custom_downloads_permalink', 10, 3);
function custom_downloads_permalink($permalink, $post, $leavename) {
    // 按需调整支持的内容类型,比如同时覆盖文章和页面
    $supported_types = ['post', 'page'];
    if (!in_array($post->post_type, $supported_types)) {
        return $permalink;
    }

    // 检查当前内容是否属于downloads分类
    if (has_category('downloads', $post)) {
        $permalink = home_url('/downloads/' . $post->post_name . '/');
    }

    return $permalink;
}

2. 添加重写规则避免404错误

WordPress无法自动识别新的URL结构,需手动添加重写规则:

add_action('init', 'custom_downloads_rewrite_rule');
function custom_downloads_rewrite_rule() {
    add_rewrite_rule(
        '^downloads/([^/]+)/?$',
        'index.php?name=$matches[1]',
        'top'
    );
}

3. 按需补充配置

  • 给页面开启分类支持:默认页面无分类功能,添加以下代码启用:
add_action('init', 'add_categories_to_pages');
function add_categories_to_pages() {
    register_taxonomy_for_object_type('category', 'page');
}
  • 使用自定义分类法时:将has_category替换为has_term,示例:
if (has_term('downloads', '你的自定义分类法别名', $post)) {

最后必做操作

将上述代码添加到主题的functions.php文件或自定义插件后,进入WordPress后台「设置-固定链接」页面,点击「保存更改」刷新重写规则,确保新配置生效。

内容的提问来源于stack exchange,提问作者SS Apps

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 12:35:24