默认情况下关闭WooCommerce产品选项卡

问题描述 投票:1回答:1

默认情况下,WooCommerce中的产品选项卡会自动打开第一个。默认情况下是否可以将它们全部关闭,要求您单击它以查看更多信息?

我尝试了以下代码,但它似乎没有这样做。也许有一个PHP代码可以做到这一点或简单的事情?

我没试过就试过这个:

setTimeout(function() {
    var $tabs = jQuery( '.wc-tabs, ul.tabs' ).first();
    $tabs.parent().find('#tab-description').hide();
    $tabs.parent().find( '.tab-title-description' ).removeClass('active');
}, 10);
php jquery wordpress woocommerce product
1个回答
3
投票

更新 - 您应该尝试:

// Conditional Show hide checkout fields based on chosen shipping methods
add_action( 'wp_footer', 'close_all_product_tabs' );
function close_all_product_tabs(){
    // Only on single product pages
    if( ! is_product() ) return;
    ?>
    <script>
        jQuery(function($){
            setTimeout(function() {
                $('#tab-description').hide( function(){
                    $( 'li#tab-title-description' ).removeClass('active');
                });
            }, 200);
        });
    </script>
    <?php
}

此代码位于活动子主题(或主题)的function.php文件中,或者也可以放在任何插件文件中。

经过测试和工作


这是一个专门针对作者主题结构的编辑,它是自定义的:

    jQuery(function($){
        jQuery(function($){
            setTimeout(function() {
                $('#tab-description').hide( function(){
                    $( 'li#description_tab' ).removeClass('active');
                });
            }, 200);
        });
    });

现在在您的主题中,特别为您的所有内容标签提供了一个<div>容器,WooCommerce默认情况下没有:

<div class="tab-panels">

这个容器有一个灰色边框和一些填充,所以当你隐藏描述选项卡时,它会像一个带有灰色边框的白色扁平矩形一样保持空白,这不是很好。所以你应该隐藏它或给他0不透明度

隐藏它您可以使用以下许多方式处理此问题:

- `$('div.tab-panels').addClass('hidden');` and some CSS rules for this 'hidden' class
- `$('div.tab-panels').css('opacity', '0');`
- `$('div.tab-panels').css('visibility', 'hidden');`

一旦隐藏,您需要在单击按钮时使其可见(这是更难的部分):

- `$('div.tab-panels').removeClass('hidden');`
- `$('div.tab-panels').css('opacity', '1');`
- `$('div.tab-panels').css('visibility', 'visible');`

最困难的事情是让click事件触发这个......

© www.soinside.com 2019 - 2024. All rights reserved.