我对 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
。
我尝试了什么
remove_action( 'woocommerce_cart_is_empty', 'wc_empty_cart_message', 10 );
functions.php
文件中。
它确实删除了该消息,但它没有解决问题,
table
也消失了。
您似乎试图让购物车表在购物车页面上可见,即使它是空的。默认情况下,当购物车中没有商品时,WooCommerce 会隐藏购物车表。以下是有关如何实现您想要的目标的分步指南:cart.php
文件。将其放入your-theme/woocommerce/cart/cart.php
。
cart.php
文件。查找检查购物车是否为空的条件,即 if ( WC()->cart->is_empty() )
。您需要调整此部分。
if ( WC()->cart->is_empty() ) {
?>
<tr class="cart-empty-placeholder">
<td colspan="6">Your cart is currently empty.</td>
</tr>
<?php
}
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。样式调整