在wordpress的页面上使用Flexslider两次?

时间:2013-09-05 09:25:07

标签: wordpress flexslider multiple-instances

您好我想在页面上使用两次flexslider。我找到了这个教程:http://www.myjqueryplugins.com/comment/reply/33但是没有运气。下面是我在函数文件中的代码。谁知道我可能会出错?

function anaximander_flexslider() {
    if (!is_admin()) {

        // Enqueue FlexSlider JavaScript
        wp_register_script('jquery_flexslider', get_template_directory_uri(). '/js/jquery.flexslider-min.js', array('jquery') );
        wp_enqueue_script('jquery_flexslider');

        // Enqueue FlexSlider Stylesheet        
        wp_register_style( 'flexslider-style', get_template_directory_uri() . '/CSS/flexslider.css', 'all' );
        wp_enqueue_style( 'flexslider-style' );

        // FlexSlider custom settings       
        add_action('wp_footer', 'anaximander_flexslider_settings');

        function anaximander_flexslider_settings() { ?>         
        <script type="text/javascript" charset="utf-8">
            $(window).load(function() {
    $('#main-slider').flexslider({
      animation: 'slide',
      controlsContainer: '.flex-container'
    });

    $('#logo-slide-show').flexslider();
  });
            </script>
        <?php 
        }

    }
}

add_action('init', 'anaximander_flexslider');

2 个答案:

答案 0 :(得分:0)

正如我们在您的函数中所看到的,flexslider的控件和动画基于像'#main-slider'这样的元素ID。但是如果你使用滑块两次会因为2个相同的ID而发生冲突。

您需要制作2个具有不同ID的独立滑块,并使用2个不同的'anaximander_flexslider()'来生成它们。

答案 1 :(得分:0)

以下是我要采取的一些步骤:

  1. 检查Firebug中的控制台 - 有任何错误吗?
  2. 检查Firebug中的HTML - 是否正在加载脚本?如果没有,请检查路径
  3. 使用允许多个实例的jQuery插件替换Flexslider;周期或Cycle2是滑块世界的伟大主力
  4. 从另一个函数中取出anaximander_flexslider_settings函数,以便可以单独调用
  5. 如果它仍然不能正常工作,请将wp_enqueue_script, wp_register_script等直接放入标题中,然后一旦你开始工作,就可以再次使用函数和挂钩调用它们,以排除那里的任何问题。