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

如何实现页面到产品标签的重定向?现有代码无法正常运行

产品标签重定向问题排查与修复方案

嘿,我来帮你解决这个产品标签重定向失效的问题!从你给出的代码来看,大概率是两个常见的疏漏导致的,咱们一步步来修正:

首先排查核心问题

  • 忘记绑定钩子:你定义了重定向函数,但没有把它挂载到template_redirect钩子上,这会导致函数根本不会被执行(之前分类重定向能生效,应该是当时加了钩子但这次漏了)。
  • 标签Slug可能有误:is_product_tag('raya-2020')里的参数是标签的Slug,你需要确认后台产品标签页面里,目标标签的Slug确实是raya-2020,Slug写错的话条件判断就不会触发。

修正后的完整代码

我给你调整了代码,增加了必要的判断和钩子绑定,还提供了更稳定的ID判断方式:

function so_38101217_template_redirect(){
    // 先确保WooCommerce已加载,避免函数不存在的报错
    if ( class_exists( 'WooCommerce' ) && function_exists( 'is_product_tag' ) ) {
        // 方式1:通过标签Slug判断(确认Slug正确再用)
        if ( is_product_tag( 'raya-2020' ) ) {
            $redirect_page_id = 9905; // 替换成你的目标页面ID
            wp_redirect( get_permalink( $redirect_page_id ) );
            exit();
        }

        // 方式2:通过标签ID判断(更稳定,Slug修改也不影响)
        // 把123替换成你产品标签的实际ID,可在后台标签编辑页面URL里查看
        // if ( is_product_tag( 123 ) ) {
        //     $redirect_page_id = 9905;
        //     wp_redirect( get_permalink( $redirect_page_id ) );
        //     exit();
        // }
    }
}
// 关键:将函数绑定到template_redirect钩子,确保页面加载时触发
add_action( 'template_redirect', 'so_38101217_template_redirect', 10 );

额外注意事项

  • 替换代码后记得清除网站缓存(包括缓存插件、CDN缓存),缓存会导致新代码不生效。
  • 测试时用匿名浏览器窗口或者退出WordPress后台,避免后台预览缓存干扰结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 11:47:40