2011-08-15 99 views
0

我想很多JS文件添加到我的新创建的主题(我是新来的wordpress主题化) 我试图做这样:将多个js文件加入wordpress主题的最佳方式是什么?

function includejQuery() { 
    if (!is_admin()) { 
     wp_deregister_script('jquery'); 
     $jqueryPath = get_bloginfo('template_directory') . '/js/jquery-1.6.2.min.js'; 
     wp_register_script('jquery', $jqueryPath); 
     wp_enqueue_script('jquery'); 
    } 
} 
function includeddAccordionUI() { 
    if (!is_admin()) { 
     wp_deregister_script('ddaccordion'); 
     $ddaccordionPath = get_bloginfo('template_directory') . '/js/ddaccordionUI.js'; 
      wp_register_script('ddaccordion', $ddaccordionPath , array("jquery")); 
      wp_enqueue_script('ddaccordion'); 
    } 
} 

add_action('init', 'includejQuery'); 
add_action('init', 'includeddAccordionUI'); 

上述想法的工作就好了,包括一个文件,但如果你包含2个文件的PHP将进入无限循环(或页面不会停止加载)

有没有更好的方式来包含许多js文件?

+0

可以消除,这是由于.js文件循环的可能性? –

+0

也只是尝试将第二个函数的内容(在is_admin内)放入第一个。 –

+1

另外,不要忘记在第二个脚本中不要使用jQuery的冲突包装。 http://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_wrappers –

回答

1

排队脚本前端时使用动作wp_enqueue_scripts。这样你就不必检查你是否在管理员。当你真的想在管理员中加载时使用admin_enqueue_scripts。这不仅是为了摆脱你的bug,而且是为了摆脱条件。也只使用一个函数并加载该函数中的所有js,以防止可能的代码重复(例如您当前的条件)。现在,如果这不起作用,它与Wordpress无关,可能是由于js。最后的建议是使用包含的js文件,通常就足够了!

为wp_enqueue_script

法典页:http://codex.wordpress.org/Function_Reference/wp_enqueue_script

相关问题