如果产品描述为空,WooCommerce 如何隐藏“描述”选项卡

Posted

技术标签:

【中文标题】如果产品描述为空,WooCommerce 如何隐藏“描述”选项卡【英文标题】:WooCommerce how to hide "Description" tab if product description is empty 【发布时间】:2021-12-21 15:51:59 【问题描述】:

每当产品的长描述字段为空时,我想隐藏 WooCommerce 产品的“描述”标题。

我试过了:

// Remove Empty Tabs
add_filter( 'woocommerce_product_tabs', 'yikes_woo_remove_empty_tabs', 20, 1 );

function yikes_woo_remove_empty_tabs( $tabs ) 

if ( ! empty( $tabs ) ) 
    foreach ( $tabs as $title => $tab ) 
            if ( empty( $tab['content'] ) && strtolower( $tab['title'] ) !== 'description' ) 
                unset( $tabs[ $title ] );
            
        
    
    return $tabs;

但这并没有最终隐藏标题。这个标题似乎不是一个实际的标签。

在渲染的源码中是这样的:

<div class="product-description">
    <h3 class="summary-description-title">Description</h3>
</div>

【问题讨论】:

请附上您的html template,或说明您使用的是哪个主题,或者至少说明它在哪个页面上。是在single product 页面上还是在shop 页面上还是在archive 页面上? 主题是 WP Rig。 HTML 模板只是单个产品视图的默认 WooCommerce。 【参考方案1】:

这是由 woocommerce 创建的“标签”。所以你可以检查它是否有内容,如果没有,那么你可以unset它。像这样:

add_filter('woocommerce_product_tabs', 'your_them_manipulating_description_tab', 99);

function your_them_manipulating_description_tab($tabs)

  global $product;

  $product_description = $product->get_description();

  if (!$product_description) 
  
    unset($tabs['description']);
  
  return $tabs;

它对我有用,如果你也可以让它工作,请告诉我!

【讨论】:

谢谢。我在主题的functions.php 中实现了您的代码。但它仍然没有删除“描述”选项卡。我已经禁用了所有插件和相同的结果。当我切换到 Storefront 时,如果没有此代码,问题就会自行消失。我很难知道还有什么地方可以排除故障以找出原因。 更新:我发现一个 WP Rig Component.php 文件控制了这个,而不是 WooCommerce 模板。我已经应用了添加到该 Component.php 文件中有意义的代码部分,并且问题已得到解决。谢谢!

以上是关于如果产品描述为空,WooCommerce 如何隐藏“描述”选项卡的主要内容,如果未能解决你的问题,请参考以下文章

如何根据用户角色隐藏具有给定类别的 WooCommerce 产品

Wordpress 插件 - WooCommerce - 隐藏产品如果

如何禁用/隐藏 woocommerce 类别页面?

当 WooCommerce 购物车包含虚拟产品时,如何隐藏结帐日期选择器?

使用 WooCommerce,我希望在客户单击产品价格中的“库存”时隐藏/禁用产品属性“颜色部分”并了解如何

Woocommerce - 未登录用户的购物车为空