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

WooCommerce与Divi主题自定义空购物车页面失效求助

解决WooCommerce+Divi空购物车页面替换问题

你的代码未生效的核心原因是条件判断逻辑错误:原代码只在「非购物车页面」且购物车为空时跳转,但你需要的是用户访问购物车页面且购物车为空时,替换为自定义页面。

修正后的代码

将以下代码替换你原有的代码,放到子主题的functions.php中(不建议直接修改父主题,避免主题更新丢失代码):

function custom_redirect_empty_cart() {
    // 替换为你的自定义页面ID
    $empty_cart_page_id = 123;

    // 条件:当前在购物车页面 + 购物车为空 + 不在结账页面
    if ( is_cart() && WC()->cart->is_empty() && !is_checkout() ) {
        wp_redirect( get_permalink( $empty_cart_page_id ) );
        exit;
    }
}
add_action( 'template_redirect', 'custom_redirect_empty_cart' );

额外注意事项

  • 确认$empty_cart_page_id是你创建的自定义页面的正确ID(可在页面编辑页的地址栏中查看,比如post=123里的123)。
  • 清除WordPress缓存、Divi主题缓存及浏览器缓存,避免旧代码残留导致不生效。
  • 若跳转方案仍有问题,可尝试模板重载方案:
    1. 在你的Divi子主题文件夹中创建woocommerce/cart目录
    2. 复制WooCommerce插件目录下的templates/cart/cart-empty.php文件到上述目录
    3. 修改复制后的cart-empty.php内容,直接调用自定义页面内容:
      <?php
      // 替换123为你的自定义页面ID
      $empty_cart_page = get_post(123);
      echo apply_filters('the_content', $empty_cart_page->post_content);
      ?>
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 20:42:06