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

如何让WordPress自定义文章类型的基础Permalink跳转到指定页面

解决自定义文章类型基础URL跳转问题

方法1:通过模板跳转实现需求

直接在主题的functions.php文件里添加以下代码,拦截/event的归档请求并跳转:

function redirect_event_archive() {
    // 检测是否是Event自定义文章类型的归档页,且不是分页
    if (is_post_type_archive('event') && !is_paged()) {
        // 尝试获取名为Event的页面
        $target_page = get_page_by_path('event');
        if ($target_page) {
            // 301永久跳转到目标页面
            wp_redirect(get_permalink($target_page), 301);
        } else {
            // 找不到目标页面就跳转到首页
            wp_redirect(home_url(), 301);
        }
        exit;
    }
}
add_action('template_redirect', 'redirect_event_archive');

添加完成后,去后台设置→固定链接页面直接点击保存,让规则生效。

方法2:禁用默认归档+手动重定向

先禁用自定义文章类型的默认归档页面,避免/event触发默认列表:

function adjust_event_post_type_settings($args, $post_type) {
    if ($post_type === 'event') {
        $args['has_archive'] = false;
    }
    return $args;
}
add_filter('register_post_type_args', 'adjust_event_post_type_settings', 10, 2);

保存修改后同样要刷新固定链接设置。此时访问/event会返回404,你可以用WordPress的重定向插件(比如Redirection)手动添加规则:将/event重定向到目标页面或首页。

方法3:自定义归档模板实现跳转

在当前主题根目录创建archive-event.php文件,写入以下内容:

<?php
$target_page = get_page_by_path('event');
if ($target_page) {
    wp_redirect(get_permalink($target_page), 301);
} else {
    wp_redirect(home_url(), 301);
}
exit;

WordPress会自动用这个模板处理/event的请求,直接完成跳转。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 01:25:58