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

WooCommerce结账页订单摘要折叠功能实现求助

解决方案:WooCommerce结账页实现Shopify式可折叠订单摘要

以下是无需依赖插件的自定义实现方案,直接通过代码添加手风琴效果、带购物车图标与实时总价的切换按钮:

1. 添加自定义功能代码

将以下代码添加到子主题functions.php文件,或使用「Code Snippets」插件添加:

// 替换结账页订单摘要为手风琴结构
add_action('woocommerce_checkout_order_review', 'custom_collapsible_order_summary', 1);
function custom_collapsible_order_summary() {
    // 移除默认订单摘要
    remove_action('woocommerce_checkout_order_review', 'woocommerce_order_review', 10);
    
    // 获取当前购物车总价
    $cart_total = WC()->cart->get_total();
    
    ?>
    <div class="collapsible-order-summary">
        <!-- 切换按钮 -->
        <button class="summary-toggle" id="summaryToggle">
            <span class="cart-icon">🛒</span>
            <span class="summary-title">订单摘要</span>
            <span class="summary-total"><?php echo $cart_total; ?></span>
            <span class="toggle-icon">▼</span>
        </button>
        
        <!-- 折叠内容:原订单摘要 -->
        <div class="summary-content" id="summaryContent">
            <?php woocommerce_order_review(); ?>
        </div>
    </div>
    <?php
}

// 添加JS脚本处理折叠逻辑与价格实时更新
add_action('wp_footer', 'collapsible_summary_scripts');
function collapsible_summary_scripts() {
    if (is_checkout() && !is_wc_endpoint_url()) {
    ?>
    <script>
        jQuery(document).ready(function($) {
            // 初始设置为折叠状态
            $('#summaryContent').hide();
            $('#summaryToggle .toggle-icon').text('▼');
            
            // 切换按钮点击事件
            $('#summaryToggle').on('click', function() {
                $('#summaryContent').slideToggle(300);
                const icon = $('#summaryToggle .toggle-icon');
                icon.text(icon.text() === '▼' ? '▲' : '▼');
            });
            
            // 实时更新按钮上的总价(监听结账页价格变化)
            $(document.body).on('updated_cart_totals updated_checkout', function() {
                const newTotal = $('.order-total .woocommerce-Price-amount').html();
                $('#summaryToggle .summary-total').html(newTotal);
            });
        });
    </script>
    <?php
    }
}

2. 添加自定义样式

将以下CSS添加到子主题style.css或主题自定义CSS面板:

/* 订单摘要手风琴容器 */
.collapsible-order-summary {
    margin-bottom: 20px;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    overflow: hidden;
}

/* 切换按钮样式 */
.summary-toggle {
    width: 100%;
    padding: 15px 20px;
    background-color: #f8f8f8;
    border: none;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 16px;
    font-weight: 600;
}

/* 购物车图标 */
.cart-icon {
    margin-right: 10px;
    font-size: 20px;
}

/* 总价样式 */
.summary-total {
    font-weight: 700;
    color: #2d2d2d;
}

/* 切换箭头 */
.toggle-icon {
    font-size: 18px;
    transition: transform 0.3s ease;
}

/* 折叠内容样式 */
.summary-content {
    padding: 20px;
    border-top: 1px solid #e5e5e5;
}

/* 响应式适配 */
@media (max-width: 768px) {
    .summary-toggle {
        padding: 12px 15px;
        font-size: 14px;
    }
    .summary-content {
        padding: 15px;
    }
}

3. 效果说明

  • 初始状态订单摘要为折叠状态,仅显示带购物车图标、「订单摘要」文字与实时总价的切换按钮
  • 点击按钮可展开/收起完整订单详情(包含商品、优惠券、运费、总价等)
  • 结账页价格变动时(如添加优惠券、选择配送方式),按钮上的总价会自动更新
  • 样式可根据你的主题风格调整CSS中的颜色、间距、字体等参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 00:16:05