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

标签 php jquery wordpress woocommerce product

默认情况下,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);

最佳答案

已更新 - 您应该尝试:

// 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 文件中或任何插件文件中。

经过测试并有效


This is an edit specifically to the authors theme structure which is customized:

    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');`

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

关于php - 默认情况下关闭 WooCommerce 产品选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47835218/

相关文章:

jquery - 自动化 jquery slider

css - Wordpress 页脚有正文背景图像重叠

php - 在之后打印 mysql 结果 10 x 10 php css 分页符

php - MySQL 上简单查询的优化

javascript - chrome 中的 onmouseover(下拉 - 选项标签)事件不起作用 - php,javascript

php - 比较更新php mysql前后的数据

jquery - 如何向 Ajax 调用返回错误消息

jquery - 使用 jQuery 访问远程 Web 服务

php - 选择什么类来删除 URL 下划线?

css - "Ad Choices"来自 Adsense 的文本显示在 div 之外