2016-11-22 141 views
3

我在WooCommerce寻找一些帮助。如果购物车中没有物品,我想隐藏迷你车和顶栏(因为它不会经常使用)。当购物车中没有物品时,删除迷你车(MayaShop)

下面是HTML输出。

是否有某种需要在functions.php中添加的“WooCommerce钩子”?

对不起,我甚至不知道PHP文件如何查找,以便发布此特定区域的任何代码片段(如果需要)。

请让我知道他们是否。

Code

谢谢。

回答

1

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

编辑那header.php文件,你将不得不使用围绕与显示迷你车的代码,一个简单的条件下,这种方式:

// 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是附加启用 - 购物车中,迷你购物车将仅显示移动到另一页面或刷新实际页面。


替代方案:THE EASY WAY(用CSS HIDDING)

另一种选择,应该是注入的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文件或任何插件文件。

代码works.and,如果你想隐藏的所有顶栏(并在同一时间将微型车),替代由(只删除> #cart)的CSS规则

#top{display:none !important;} 
+0

感谢您的响应,我尝试使用以下内容:<! - 顶栏 - ><?PHP的 如果(!WC-> ' cart-> is_empty()){ 解析错误:语法错误,意外的' - >'(T_OBJECT_OPERATOR)在C:\ *****中的错误:语法错误,意外的' - >'(T_OBJECT_OPERATOR)在C:\ ***** \ theme-child \ header.php 196 – user1019002

0

修复了这一点,感谢您的建议LoicTheAztec,一点点的代码玩弄!谢谢。

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

+0

对不起,以为你可以为将来查看的人选择两个正确答案。已经改变了正确的答案 – user1019002