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

WordPress自定义文章类型预览链接缺斜杠触发404错误问题求助

解决方案

1. 补充自定义文章类型的rewrite配置

你在注册自定义文章类型时未显式声明rewrite参数,无头场景下WP Engine Headless插件生成预览链接时会跳过部分原生链接格式化逻辑,导致CPT slug和文章slug拼接时缺失斜杠。你需要在注册CPT的$args数组中补充如下配置(原有其他配置保持不变):

$args = array(
    // 你原有的其他配置项保留,新增下方rewrite配置
    'rewrite' => array(
        'slug' => 'standard-forms', // 和你现有的固定链接前缀保持一致即可
        'with_front' => false,
    ),
);

2. 修正重写规则刷新逻辑

删除注册函数末尾的flush_rewrite_rules(),这个方法每次页面加载都会执行,会导致重写规则缓存异常。修改完代码后进入WordPress后台「设置」-「固定链接」,直接点击「保存更改」(无需修改任何配置项),手动刷新一次重写规则即可。

3. 检查无头插件预览配置

进入WP Engine Headless插件设置页,找到自定义文章类型的预览模板配置,确保路径格式为[前端域名]/[CPT slug]/[文章slug]/,各路径段之间用斜杠分隔。

4. 强制修正链接格式(兜底方案)

如果以上配置修改后问题仍存在,可以通过pre_post_link过滤器强制修正链接格式,将如下代码添加到主题functions.php或者你的自定义功能插件中:

add_filter( 'pre_post_link', function ( $permalink, $post ) {
    // 仅对你注册的standardtmp文章类型生效
    if ( $post->post_type !== 'standardtmp' ) {
        return $permalink;
    }
    // 补全CPT slug和文章slug之间的斜杠,同时移除多余的连续斜杠
    return preg_replace( '#(standardtmp)([^/])#', '$1/$2', $permalink );
}, 10, 2 );

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:57:04