【问题标题】:Cart Page is Empty When Item is Removed删除项目时购物车页面为空
【发布时间】:2021-05-21 05:45:03
【问题描述】:

当购物车为空时,我想为购物车页面设计自己的模板。我添加了下面的sn-p来完成。

add_action( 'woocommerce_cart_is_empty', 'custom_empty_cart_message', 10 );
remove_action( 'woocommerce_cart_is_empty', 'wc_empty_cart_message', 10 ); 

remove_action( 'woocommerce_cart_item_removed', 'action_woocommerce_cart_item_removed', 10); 
add_action( 'woocommerce_cart_item_removed', 'custom_empty_cart_message', 10);

function custom_empty_cart_message() {
    $html  = '<a href="http://abcd.com/wp-content/lo.png"><img class="size-medium wp-image-25512 aligncenter" src="http://abcd.com/wp-content/lo.png" alt="" width="300" height="169" /></a>';
    $html .= wp_kses_post( apply_filters( 'wc_empty_cart_message', __( '<p style="text-align: center;"><B>Your Shopping Cart Looks Empty</B></p><p style="text-align: center;">Your shopping cart is waiting</br>Give it purpose</p>', 'woocommerce' ) ) );
    echo $html . '</p></div>';
}

现在发生的情况是,当您直接访问购物车页面时,它可以正常工作。除非将商品添加到购物车 -> 访问购物车页面 -> 删除已添加的商品会显示一个空白页面,而不是我创建的自定义方法。然后如果页面被刷新,它工作正常自定义方法加载完美。为什么会发生这种情况?为什么删除项目后我会看到空白页?

提前干杯。

【问题讨论】:

    标签: php wordpress woocommerce webhooks custom-wordpress-pages


    【解决方案1】:

    发现了。

    解决方案是您必须使用 cart-empty 类以及您的方法,如下所示。

    remove_action( 'woocommerce_cart_is_empty', 'wc_empty_cart_message', 10 );
    add_action( 'woocommerce_cart_is_empty', 'custom_empty_cart_message', 10 );
    
    function custom_empty_cart_message() { ?>
        <div class="col-12 offset-md-1 col-md-10">
            <div class="cart-empty">
    
            <a href="http://abcd.com/wp-content/lo.png"><img class="size-medium wp-image-25512 aligncenter" src="http://abcd.com/wp-content/lo.png" alt="" width="300" height="169" /></a>
            <p style="text-align: center; font-weight: bold;">Your Shopping Cart Looks Empty</p>
            <p style="text-align: center;">Your shopping cart is waiting</br>Give it purpose</p>
        </div>
    </div>
    <?php
    }
    

    快乐定制。

    【讨论】:

      【解决方案2】:

      WooCommerce 中有这个文件wp-content/plugins/woocommerce/templates/cart/cart-empty.php

      你可以在你的主题中复制这个页面(带有文件夹结构),你应该可以自定义它!

      看看https://docs.woocommerce.com/document/template-structure/

      【讨论】:

      • 我检查了这个。根据我提到的场景,当您从购物车中删除最后一项时,它会显示空白页。 woocommerce_cart_item_removed 是钩子吗?
      猜你喜欢
      • 2020-06-06
      • 2019-07-01
      • 1970-01-01
      • 2014-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多