购物车内无物品时移除迷你车(MayaShop)

时间:2016-11-22 22:10:39

标签: php wordpress woocommerce cart product

我正在寻找WooCommerce的帮助。当购物车中没有物品时,我想隐藏迷你购物车和上边栏(因为它不会经常使用)。

以下是HTML输出。

是否需要在functions.php中添加某种“WooCommerce Hook”?

很抱歉,如果需要,我甚至不知道要查找哪些PHP文件来发布此特定区域的任何代码段。

请告知我们。

Code

感谢。

2 个答案:

答案 0 :(得分:1)

您主要主题中的 header.php 文件正在显示该迷你购物车。 (最好使用子主题并将该文件从父主题复制到子主题,避免在更新主题时松开自定义项)。

编辑 header.php 文件时,您必须使用显示Mini-cart的代码的简单条件,这样:

// If cart is not empty display the mini-cart
if(!WC()->cart->is_empty()){

    // Here goes the code that display mini cart in your header
}

这应该可行,但是如果为添加到购物车启用了ajax,则只会显示迷你购物车移动到另一个页面或刷新实际页面。

替代方案:简单方法(用CSS隐藏)

另一种选择,应该是在html头中注入一个CSS规则,当这个方式为空时:

add_action('wp_head', 'hook_css', 99999);
function hook_css() {
    // If cart is empty hide the mini-cart
    if(WC()->cart->is_empty())
        echo '<style type="text/css">#top > #cart{display:none !important;}</style>';
}

此代码位于活动子主题(或主题)的function.php文件或任何插件文件中。

代码有效。如果你想隐藏所有顶部栏(和迷你购物车同时),请用替换css规则(只需删除> #cart

#top{display:none !important;}

答案 1 :(得分:0)

修正了感谢你的建议LoicTheAztec,玩了一下代码!感谢。

<!-- TOPBAR --> <?php if (sizeof(WC()->cart->get_cart()) != 0) { get_template_part( 'topbar' ); }?> <!-- END TOPBAR -->