我正在寻找WooCommerce的帮助。当购物车中没有物品时,我想隐藏迷你购物车和上边栏(因为它不会经常使用)。
以下是HTML输出。
是否需要在functions.php中添加某种“WooCommerce Hook”?
很抱歉,如果需要,我甚至不知道要查找哪些PHP文件来发布此特定区域的任何代码段。
请告知我们。
感谢。
答案 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 -->