在wordpress中在一页上使用Flexslider两次?

在wordpress中在一页上使用Flexslider两次?,wordpress,flexslider,multiple-instances,Wordpress,Flexslider,Multiple Instances,嗨,我想在一个页面上使用flexslider两次。我找到了这个教程:但是我没有任何运气。下面是我在函数文件中的代码。有人知道我哪里会出错吗 function anaximander_flexslider() { if (!is_admin()) { // Enqueue FlexSlider JavaScript wp_register_script('jquery_flexslider', get_template_directory_uri(). '

嗨,我想在一个页面上使用flexslider两次。我找到了这个教程:但是我没有任何运气。下面是我在函数文件中的代码。有人知道我哪里会出错吗

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');
函数anaximander_flexslider(){ 如果(!is_admin()){ //队列FlexSlider JavaScript wp_register_script('jquery_flexslider',get_template_directory_uri()。/js/jquery.flexslider-min.js',array('jquery'); wp_排队_脚本('jquery_flexslider'); //将FlexSlider样式表排队 wp_register_style('flexslider style',get_template_directory_uri()。/CSS/flexslider.CSS','all'); wp_排队_样式(“flexslider样式”); //FlexSlider自定义设置 添加动作(“wp_页脚”、“anaximander_flexslider_设置”); 函数anaximander_flexslider_settings(){?> $(窗口)。加载(函数(){ $(“#主滑块”).flexslider({ 动画:“幻灯片”, 控件容器:'.flex容器' }); $(“#徽标幻灯片放映”).flexslider(); });
正如我们在函数中看到的,flexslider的控制和动画基于元素ID,如“#main slider”。但如果您使用滑块两次,则会因为两个相同的ID而发生冲突


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

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

  • 检查Firebug中的控制台-是否存在任何错误
  • 检查Firebug中的HTML-是否加载了脚本?如果没有,请检查路径
  • 将Flexslider替换为允许多个实例的jQuery插件;循环或是slider世界的优秀工作马
  • anaximander_flexslider_settings
    函数从另一个函数中去掉,以便可以单独调用它
  • 如果它仍然不起作用,请将
    wp\u enqueue\u脚本、wp\u register\u脚本
    等直接放在标题中,然后一旦它起作用,您可以再次使用函数和挂钩调用它们,以排除任何问题

  • 它能在一个实例上运行吗?javascript加载正确吗?控制台中有错误吗?不,根本不起作用-看起来javascript没有加载。感谢您这么快就回来了。我明白了-这意味着为每个滑块创建一个单独的函数吗?是的。但事实上,它会更复杂,因为您将脚本排队ts在函数中。事实上,您可能需要修改flexslider脚本以传递您想要控制的滑块的id。我知道这有点奇怪。flexslider被创建为只在页面中使用一次。Damb-这对我来说听起来有点复杂,我是javascript新手,但非常感谢您的帮助。更简单的方法是使模板页面ich直接包括一个手写flexslider。