WooCommerce标签不适用于Divi主题

时间:2015-12-26 01:40:22

标签: javascript css

我有一个网站使用旧版Wordpress Divi主题和一个woocommerce商店。在产品页面的底部是"描述"和#34;评论"标签。它应该像在这个页面上一样填充: http://rattletree.com/wordpress2/product/joy-ep/

那里有css说:

<div class="panel entry-content wc-tab" style="display: block;">

选中此标签后,它会显示display: block;,当选择其他标签时,会更改为display: none;

它应该如何运作。我正在构建我们的新网站并使用较新版本的Divi,并且该选项卡的内容不可见。我可以在代码中看到他们留在display: none;

以下是无效的网站: https://learnmarimba.com/product/joy-ep/

由于这是一个动态变化,我想这是用javascript而不是css处理的,所以我真的不知道我需要做些什么来解决这个问题?任何帮助将不胜感激!

我已尝试禁用所有插件并清除缓存,并注意到已解决此问题。我看到了这个帖子:https://wordpress.org/support/topic/woocommerce-review-description-tabs-not-working,它看起来像我的问题,但是改变每个线程的功能并没有解决问题。

2 个答案:

答案 0 :(得分:3)

更新:

wp-content/themes/Divi/js/custom.js:2644中将false更改为true。它可能会解决您的问题。如果是这样的话,那就是已知并报告给Divi的bug,很可能会在下一个版本中修复。

由于行号容易发生变化,因此您应该进行更改:

//...
if ( $(this).closest( '.woocommerce-tabs' ).length && $(this).closest( '.tabs' ).length ) {
    return false;
}
//...

很可能是因为您的产品模板与WooCommerce插件不匹配。在某些时候,标签的类已从woocommerce_tabs更改为woocommerce-tabs。从它的外观来看,模板似乎领先于插件。在模板文件中替换woocommerce-tabs woocommerce_tabs(如果出于某种原因,您不想更新WC)或更新WC(推荐)。

<罢工>

根据您提供的信息,我无法确定这是否有效,但值得一试。

除此之外,你的一个插件正在缩小和缓存.js文件,使它们变得不可行。也许你应该在开发期间禁用它?

答案 1 :(得分:0)

将来回到此处的任何人,在Divi版本:2.7.x中,您可以通过删除/评论wp-content/themes/Divi/js/custom.js中的以下代码来解决此问题:

$( 'a[href*="#"]:not([href="#"])' ).click( function() {
        var $this_link = $( this ),
            has_closest_smooth_scroll_disabled = $this_link.closest( '.et_smooth_scroll_disabled' ).length,
            has_closest_woocommerce_tabs = ( $this_link.closest( '.woocommerce-tabs' ).length && $this_link.closest( '.tabs' ).length ),
            has_closest_eab_cal_link = $this_link.closest( '.eab-shortcode_calendar-navigation-link' ).length,
            has_acomment_reply = $this_link.hasClass( 'acomment-reply' ),
            disable_scroll = has_closest_smooth_scroll_disabled || has_closest_woocommerce_tabs || has_closest_eab_cal_link || has_acomment_reply;

        if ( ( location.pathname.replace( /^\//,'' ) == this.pathname.replace( /^\//,'' ) && location.hostname == this.hostname ) && ! disable_scroll ) {
            var target = $( this.hash );
            target = target.length ? target : $( '[name=' + this.hash.slice(1) +']' );
            if ( target.length ) {

                et_pb_smooth_scroll( target, false, 800 );

                if ( ! $( '#main-header' ).hasClass( 'et-fixed-header' ) && $( 'body' ).hasClass( 'et_fixed_nav' ) && $( window ).width() > 980 ) {
                    setTimeout(function(){
                        et_pb_smooth_scroll( target, false, 40, 'linear' );
                    }, 780 );
                }

                return false;
            }
        }
    });