如果产品描述为空,WooCommerce 如何隐藏 "Description" 选项卡
WooCommerce how to hide "Description" tab if product description is empty
我想在产品的长描述字段为空时隐藏 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>
这是 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;
}
它在我这边有效,如果你也能让它起作用,请告诉我!
我想在产品的长描述字段为空时隐藏 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>
这是 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;
}
它在我这边有效,如果你也能让它起作用,请告诉我!