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

自定义WooCommerce主题时wc_get_cart_url()跳转至cart_trashed问题

解决WooCommerce中wc_get_cart_url()跳转到cart_trashed页面的问题

嘿,这种情况我之前开发WooCommerce主题时也碰到过,大概率是购物车页面的配置或者代码钩子被意外篡改了,给你几个排查和解决的方向:

  • 检查购物车页面的状态与Slug
    先去WordPress后台的「页面」列表里找到WooCommerce自动生成的购物车页面,确认它没被删除、移到回收站,也没被把Slug改成cart_trashed。正常情况下这个页面的Slug应该是cart,而且页面内容里必须包含[woocommerce_cart]短代码。要是页面被误删了,你可以重新建一个页面,添加这个短代码,再去WooCommerce设置(WooCommerce > 设置 > 高级)里把购物车页面指定为这个新页面。

  • 排查插件或自定义代码对Cart URL的修改
    有些购物车优化类插件,或者主题functions.php里的自定义代码,可能会通过woocommerce_get_cart_url过滤器修改购物车的URL。你可以先临时禁用所有WooCommerce相关插件,测试wc_get_cart_url()是否返回正确地址。如果恢复正常,再逐个启用插件找到出问题的那个。
    另外,检查你的主题functions.php里有没有类似这样的代码:

    add_filter( 'woocommerce_get_cart_url', 'custom_cart_url' );
    function custom_cart_url( $url ) {
        // 这里可能被错误改成了cart_trashed的URL
        return home_url( '/cart_trashed/' );
    }
    

    如果有,把它修正为/cart/路径或者直接移除这个过滤器。

  • 刷新永久链接规则
    有时候永久链接的缓存会导致URL解析异常。去WordPress后台的「设置 > 永久链接」,不用改任何设置,直接点击「保存更改」,刷新一下永久链接规则,这能解决不少URL跳转的奇怪问题。

  • 临时用更直接的方式输出购物车URL
    如果上面的方法都没解决,你可以先临时用硬编码方式输出正确链接,比如:

    echo get_permalink( wc_get_page_id( 'cart' ) );
    

    这个函数会直接获取WooCommerce设置里指定的购物车页面链接,能绕开可能的过滤器干扰。

按这个顺序一步步排查,应该能搞定问题!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:43:02