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

如何将每个WooCommerce产品分类重定向至不同页面

实现多WooCommerce产品分类到指定页面的重定向

要同时处理20个分类的定向需求,最简洁易维护的方式是用关联数组存储「分类ID-页面ID」的映射关系,替换原来的单个判断逻辑。后续要加新的对应关系,只需要在数组里补充一行即可,不用重复写判断语句。

修改后的完整代码

function custom_category_template_redirect() {
    // 判断当前是否为产品分类页面
    if ( is_product_category() ) {
        $category = get_queried_object();
        
        // 定义分类ID到页面ID的映射数组,把你的20组对应关系填在这里
        $category_page_mapping = array(
            29 => 304,    // 示例:分类ID29 → 页面ID304
            30 => 305,    // 分类ID30 → 页面ID305
            31 => 306,    // 按这个格式继续补充剩余的对应关系
            // ... 剩下的17组都在这里添加
        );
        
        // 检查当前分类是否在映射数组中,存在则执行重定向
        if ( isset( $category_page_mapping[ $category->term_id ] ) ) {
            $redirect_page_id = $category_page_mapping[ $category->term_id ];
            // 默认是302临时重定向,若需永久重定向,修改为:wp_redirect( get_permalink($redirect_page_id), 301 );
            wp_redirect( get_permalink( $redirect_page_id ) );
            exit();
        }
    }
}
add_action( 'template_redirect', 'custom_category_template_redirect' );

关键说明

  1. 映射数组维护:把你需要的20组「分类ID-目标页面ID」全部添加到$category_page_mapping数组,格式和示例一致。
  2. 语法修正:原代码里$category->term_id == 29,多了个逗号,属于语法错误,修改版已修正。
  3. 重定向类型:默认wp_redirect是302临时重定向,如果是永久调整站点结构,建议改成301状态码(搜索引擎会更新索引)。
  4. 代码放置位置:可以把这段代码添加到WordPress主题的functions.php文件末尾,或者用自定义代码插件(比如Code Snippets)添加,避免主题更新丢失代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 11:59:55