2013-10-09 128 views
11

我想加载jQuery和其他脚本到头部(或者应该是脚注),并且我有jQuery工作排序,我可以运行一个警告框。WordPress:使用入队加载多个脚本

事情是,jquery-2.0.3.min.js没有加载,我不知道我是否正确地进行排队。 jquery-1.10.2虽然加载。另外,另一个脚本也不加载。对于这两个脚本(2.0.3和其他脚本),这是在最后:?ver=3.6.1

另外我在读,它可能会更好加载到一个函数?

所以,任何帮助将不胜感激!

function load_jquery() { 
    wp_register_script('jquery_script', get_template_directory_uri() . 'js/jquery-2.0.3.min.js', array('jquery')); 
    wp_enqueue_script('jquery_script'); 
} 
add_action('init', 'load_jquery'); // end jQuery 

function another() { 
    wp_register_script('another_script', get_template_directory_uri() . 'js/another.js', array('jquery')); 
    wp_enqueue_script('another_script'); 

} 
add_action('init', 'another'); 

回答

26

第一件事jQuery的在那里默认情况下,WordPress的,所以你不要有注册,只是排队它

大部分jQuery用户界面库和jQuery核心文件已经与WordPress的注册,所以你只需要与右手柄的外观在这里排队enqueue script

wp_enqueue_script用来排队脚本,wp_enqueue_style用来排队风格

调用自定义JS,它能够更好地注册SC RIPT或风格首先使用

wp_register_script之前//注册脚本

wp_register_style //要排队使用wp_enqueue_script登记风格

然后,wp_enqueue_style

这里是从整个过程示例代码段我的网站

function pr_scripts_styles() { 

    wp_enqueue_script('jquery'); // just enqueue as its already registered 
    if (is_singular() && comments_open() && get_option('thread_comments')) 
     wp_enqueue_script('comment-reply'); 

    /* REGISTER ALL JS FOR SITE */ 
    wp_register_script('pr_cycle_all',get_stylesheet_directory_uri().'/js/pr-slider.js'); 
    wp_register_script('pr_slider',get_stylesheet_directory_uri().'/js/jquery.cycle.all.min.js'); 
    wp_register_script('pr_validation_engine',get_stylesheet_directory_uri().'/js/jquery.validationEngine-en.js'); 
    wp_register_script('pr_validation_locale',get_stylesheet_directory_uri().'/js/jquery.validationEngine.js'); 
    wp_register_script('stylethemes',get_stylesheet_directory_uri().'/js/stylethemes.js'); 
    wp_register_script('pr-jquery-ui',get_stylesheet_directory_uri().'/js/jquery-ui.js'); 
    wp_register_script('main-js',get_stylesheet_directory_uri().'/js/main.js'); 
    wp_register_script('pr-galleriffic',get_stylesheet_directory_uri().'/js/jquery.galleriffic.js'); 
    wp_register_script('pr-rollover',get_stylesheet_directory_uri().'/js/jquery.opacityrollover.js'); 
    wp_register_script('pr_colorbox',get_stylesheet_directory_uri().'/js/jquery.colorbox.js'); 
    wp_register_script('pr_jcarousel_js',get_stylesheet_directory_uri().'/js/jquery.jcarousel.min.js'); 


    //wp_register_script('google-map-api','https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false'); 



    /* REGISTER ALL CSS FOR SITE */ 
    wp_register_style('pr_woocommerce',get_stylesheet_directory_uri().'/css/_woocommerce.css'); 
    wp_register_style('pr_mobile',get_stylesheet_directory_uri().'/css/mobile.css'); 
    wp_register_style('pr_sec_teal_grey',get_stylesheet_directory_uri().'/css/secondary-teal-grey.css'); 
    wp_register_style('pr_site_options',get_stylesheet_directory_uri().'/css/site-options.css'); 
    wp_register_style('pr_teal_grey',get_stylesheet_directory_uri().'/css/teal-grey.css'); 
    wp_register_style('validation_css',get_stylesheet_directory_uri().'/css/validationEngine.jquery.css'); 
    wp_register_style('galleriffic_css',get_stylesheet_directory_uri().'/css/galleriffic.css'); 
    wp_register_style('pr_colorbox_style',get_stylesheet_directory_uri().'/css/colorbox.css'); 
    wp_register_style('pr_jcarousel_css',get_stylesheet_directory_uri().'/css/jcarouselskin.css'); 



    /* CALL ALL CSS AND SCRIPTS FOR SITE */ 
    wp_enqueue_script('pr-jquery-ui'); 
    wp_enqueue_script('stylethemes'); 

    wp_enqueue_script('pr_cycle_all'); 

    wp_enqueue_script('pr_slider','','','',true); 
    wp_enqueue_script('pr_validation_engine'); 
    wp_enqueue_script('pr_validation_locale'); 
    wp_enqueue_script('google-map-api'); 
    wp_enqueue_script('main-js'); 
    wp_enqueue_script('pr-galleriffic'); 
    wp_enqueue_script('pr-rollover'); 
    wp_enqueue_script('pr_colorbox'); 


    wp_enqueue_style('pr-style', get_stylesheet_uri(), array(), '2013-07-18'); 
    wp_enqueue_style('pr_site_options'); 
    wp_enqueue_style('pr_woocommerce'); 
    wp_enqueue_style('pr_mobile'); 
    wp_enqueue_style('pr_sec_teal_grey'); 
    wp_enqueue_style('pr_teal_grey'); 
    wp_enqueue_style('validation_css'); 
    wp_enqueue_style('galleriffic_css'); 
    wp_enqueue_style('pr_colorbox_style'); 
    if(is_single()){ 
     wp_enqueue_script('pr_jcarousel_js'); 
     wp_enqueue_style('pr_jcarousel_css'); 
    } 
} 
add_action('wp_enqueue_scripts', 'pr_scripts_styles'); 

还记得挂钩与wp_enqueue_scripts你的功能,使脚本&风格负载正确add_action('wp_enqueue_scripts', 'pr_scripts_styles');

+0

谢谢!这就是诀窍! –

4

使用儿童主题时,这对我的作品,只是一定要在脚本中使用不同的名称:

function my_scripts_method() { 

    wp_enqueue_script(
     'script-name1', 
     get_stylesheet_directory_uri() . '/some-script.js', 
     array('jquery') 
    ); 
    wp_enqueue_script(
     'script-name2', 
     get_stylesheet_directory_uri() . '/another-script.js', 
     array('jquery') 
    ); 

} 
add_action('wp_enqueue_scripts', 'my_scripts_method'); 
+0

'wp_enqueue_script'为我工作,而不是'wp_register_script'。谢谢! – Edward

3

这是我怎么添加样式和脚本非常适合我。 但我建议在使用之前先理解它,然后任何人都可以按照自己的方式遵循这种方法。

function theme_files() { 
     $styles = [ 
      ['handle' => 'style', 'src' => '../style.css', 'deps' => false, 'media'=>"all"], 
      ['handle' => 'bootstrap', 'src' => 'bootstrap.min.css', 'deps' => false, 'media'=>"all"], 
      ['handle' => 'font_awesome', 'src' => 'font-awesome.min.css', 'deps' => false, 'media'=>"all"], 
      ['handle' => 'animate', 'src' => 'animate.min.css', 'deps' => false, 'media'=>"all"], 
      ['handle' => 'lightbox', 'src' => 'lightbox.css', 'deps' => false, 'media'=>"all"], 
      ['handle' => 'main', 'src' => 'main.css', 'deps' => false, 'media'=>"all"], 
      ['handle' => 'responsive', 'src' => 'responsive.css', 'deps' => false, 'media'=>"all"] 
     ]; 
     for ($i = 0; $i < sizeof($styles); $i++) { 

      wp_enqueue_style($styles[$i]['handle'], get_template_directory_uri() . '/css/' . $styles[$i]['src'], $styles[$i]['deps'], $styles[$i]['media']); 

     } 

     $scripts = [ 
      ['handle' => 'bootstrap', 'src'=>'bootstrap.min.js','dep'=> array('jquery'),'var'=> false,'in_foot'=> true], 
      ['handle' => 'lightbox', 'src'=>'lightbox.min.js','dep'=> array('jquery'),'var'=> false,'in_foot'=> true], 
      ['handle' => 'wow', 'src'=>'wow.min.js','dep'=> array('jquery'),'var'=> false,'in_foot'=> true], 
      ['handle' => 'main', 'src'=>'main.js', 'dep'=>array('jquery'), 'var'=>false, 'in_foot'=>true] 
     ]; 

     for ($i=0; $i < sizeof($scripts); $i++) { 

      wp_enqueue_script($scripts[$i]['handle'], get_template_directory_uri() . '/js/' . $scripts[$i]['src'], $scripts[$i]['dep'], $scripts[$i]['ver'], $scripts[$i]['in_foot']);  

     } 
    } 
    add_action('wp_enqueue_scripts', 'theme_files');