FaceWP-有条件地显示面标签

时间:2017-10-30 作者:richerimage

以下代码为方面生成标签(see sidebar).

我想添加一个条件语句,如果为空,则防止标签生成是方面。

$(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).before(\'<h3 class="facet-label" data-for="\' + facet_name + \'">\' + facet_label + \'</h3>\');
    }
  });
});
编辑:Source of code

3 个回复
SO网友:Tony M

您的代码似乎与FacetWP完全相同。我能想到的唯一变量是代码位置。您可能没有将代码放在它所属的位置(functions.php或插件)。快速修复方法是将它们的代码添加到主题的函数中。php:

   function fwp_add_facet_labels() {
    ?>
   <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).before(\'<h3 class="facet-label" data-for="\' + facet_name + \'">\' + facet_label + \'</h3>\');
        }
       });
     });
   })(jQuery);
   </script>
   <?php
   }
   add_action( \'wp_head\', \'fwp_add_facet_labels\', 100 );
或者按照他们的指示:Here

SO网友:Alvic

您可以将此行设置为在空时隐藏它。

&& $(this).children().length > 0)
下面是要添加到函数中的所有代码。php文件显示h3方面的名称,并在为空时隐藏这些方面。

function fwp_add_facet_labels() {
    ?>
<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(\'<h3 class="facet-label" data-for="\' + facet_name + \'">\' +
                    facet_label + \'</h3>\');
            }
        });
    });
})(jQuery);
</script>
<?php
   }
   add_action( \'wp_head\', \'fwp_add_facet_labels\', 100 );

SO网友:nydame

上面给出的答案没有错,但它们都依赖于jQuery。这不是一个好主意,因为jQuery正慢慢被Automatic的强大力量护送出大楼。

更重要的是,当您实际查看How to Use FacetWP Hooks, 说明清楚地告诉您将代码放在其他地方。具体来说,您需要下载他们的自定义挂钩插件并将代码粘贴到custom-hooks.php. 干杯

结束

相关推荐

WordPress自动加载jQuery-将其添加到页脚的想法正确吗?

我知道这行代码(放在header.php中)添加了jquery:<?php wp_enqueue_script(\"jquery\"); ?> 这会将其加载到标题部分。。。所以,我只是把它添加到页脚。php和它的工作很好。。。有人能告诉我这是否是在页脚中加载jquery的公认方式吗?CONTENT CONTENT CONTENT </footer> <?php wp_enqueue_script(\"jquery\"); ?>