WooCommerce:如何禁用重定向,当表为空时,如何保留空表

问题描述 投票:0回答:1

我对 Woocommerce 很陌生,但是我确实发现这个插件非常有趣,我想知道的一件事是:

  • 购物车页面时,如果您要通过以下方式清空

    table

  • WC()->cart->empty_cart()

  • foreach
    中的
    table
    项目:
    WC()->cart->set_quantity("cart_item_key_id" , 0)

您将被重定向到"Cart is empty"

显示屏,其中仅显示此消息。然而,
table
 会消失,并且也不会成为 
DOM
 的一部分。


问题

即使没有任何物品,如何确保

table

仍留在原处?或者 
或者,同时拥有包含所有文件的 child-theme
,一个示例:
your-theme/woocommerce/cart/cart.php
,如何在位于 
购物车页面 并看到“购物车为空”消息时,修改 cart.php
,以便,以编程方式添加一个项目并重新生成 
table
我尝试了什么


通过删除了 woocommerce_cart_is_empty 消息

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

已添加到

functions.php

 文件中。
它确实删除了该消息,但它没有解决问题,
table

也消失了。


    Cart-page without the 

您似乎试图让购物车表在购物车页面上可见,即使它是空的。默认情况下,当购物车中没有商品时,WooCommerce 会隐藏购物车表。以下是有关如何实现您想要的目标的分步指南:
php woocommerce hook-woocommerce woocommerce-theming
1个回答
0
投票

    覆盖 WooCommerce 模板
  1. :首先,确保您已正确覆盖

    cart.php 文件。将其放入your-theme/woocommerce/cart/cart.php

  2. 修改模板
  3. :在子主题中打开覆盖的

    cart.php文件。查找检查购物车是否为空的条件,即 if ( WC()->cart->is_empty() )

    。您需要调整此部分。

  4. 为空购物车添加占位符
  5. :当购物车为空时,不要隐藏表格,而是在表格行之一中显示占位符消息,例如“您的购物车当前为空”。这是一个基本示例:

    if ( WC()->cart->is_empty() ) { ?> <tr class="cart-empty-placeholder"> <td colspan="6">Your cart is currently empty.</td> </tr> <?php }
以编程方式添加商品
    :如果您想在购物车为空时以编程方式将商品添加到购物车,可以使用以下代码:
  1. if ( WC()->cart->is_empty() ) { $product_id = YOUR_PRODUCT_ID_HERE; // replace with your product ID WC()->cart->add_to_cart( $product_id ); // Refresh the page to see the changes echo '<script>window.location.reload();</script>'; }
确保将
YOUR_PRODUCT_ID_HERE
替换为您要添加的实际产品 ID。

样式调整
    :您可能需要调整一些 CSS 样式,以确保表格在为空时按预期显示。
  1. 请记住,在实际网站上实施之前,请务必先在临时网站上测试任何更改。这样,您就可以确保更改按预期工作,而不会影响您的实时访问者。
祝你好运,如果您还有任何疑问,请告诉我!

© www.soinside.com 2019 - 2024. All rights reserved.