首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FacetWP:只有当facet有选项时才显示标签

FacetWP:只有当facet有选项时才显示标签
EN

Stack Overflow用户
提问于 2020-03-03 15:35:50
回答 1查看 851关注 0票数 1

我只想显示标签,只有当小面有任何选择。因此,我尝试了以下代码:

代码语言:javascript
复制
<script>
(function($) {
    $(document).on('facetwp-loaded', function() {
        $('.facetwp-facet').each(function() {
            var facet_name = $(this).attr('data-name');
            var facet_label = FWP.settings.labels[facet_name];

            if ($('.facet-label[data-for="' + facet_name + '"]').length < 1 && $(this).children()
                .length > 0) {
                $(this).before('<p class="h5 facet-label" data-for="' + facet_name + '">' + facet_label + '</p>');
            }
        });
    });
})(jQuery);
</script>

它可以工作,但只有当我用活动过滤器重新加载页面。如果我换了过滤器,标签就会留下。

单击后是否有任何选项可以询问这些过滤器是否是新的过滤器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-03 15:52:09

插件作者给了我一个解决方案的提示:

代码语言:javascript
复制
<script>
    (function($) {
        $(document).on('facetwp-loaded', function() {
            $('.facetwp-facet').each(function() {
                var facet_name = $(this).attr('data-name');
                var facet_label = FWP.settings.labels[facet_name];
                if ( 'undefined' !== typeof FWP.settings.num_choices[facet_name] && FWP.settings.num_choices[facet_name] > 0 && $('.facet-label[data-for="' + facet_name + '"]').length < 1 ) {
                    $(this).before('<h3 class="facet-label" data-for="' + facet_name + '">' + facet_label + '</h3>');
                } else if ( 'undefined' !== typeof FWP.settings.num_choices[facet_name] && !FWP.settings.num_choices[facet_name] > 0 ) {
                    $('.facet-label[data-for="' + facet_name + '"]').remove();
                } 
            });
        });
    })(jQuery);
    </script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60510672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档