我正在尝试使用(wordpress功能)wp_enqueue_script调用多个JQuery脚本。对JQuery的调用完美无缺,但第二次调用cufon却没有。我不是php或javascript专家 - 任何人都可以伸出援助之手,是否有最佳实践方法?
function my_init_method() {
if (!is_admin()) {
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js');
wp_enqueue_script( 'jquery' );
}
}
add_action('init', 'my_init_method');
function my_init_method2() {
if (!is_admin()) {
wp_deregister_script( 'cufon' );
wp_register_script( 'cufon', 'http://mydomain.com/wp-content/themes/simplefolio/js/cufon-yui.js');
wp_enqueue_script( 'cufon' );
}
}
add_action('init', 'my_init_method2');
答案 0 :(得分:1)
我选择deregister_script和enqueue_script的方式如下(随意根据您的需要调整):
function my_deregister_javascript() {
wp_deregister_script ( 'jquery-ui-tabs' );
wp_deregister_script ( 'jquery-ui-core' );
wp_deregister_script ( 'jquery-cycle' );
wp_deregister_script ( 'hoverintent' );
wp_deregister_script ( 'superfish' );
wp_deregister_script ( 'jquery-validate' );
wp_deregister_script ( 'arras_add_header_js' );
wp_deregister_script ( 'arras_add_slideshow_js' );
wp_deregister_script ( 'ratings_scripts' );
wp_deregister_script ( 'wp-postratings' );
wp_deregister_script ( 'sharing-js' );
wp_deregister_script ( 'jquery' );
wp_enqueue_script ('jquery', '/js/mymusicplug.js', '', '1.4.4');
}
if ( !is_admin() ) {
add_action( 'wp_print_scripts', 'my_deregister_javascript', 100 );
}
如您所见,我的'if(!is_admin())'与脚本'输出'相关。我也注销了没有注册 - 通过wp_register_script注册脚本导致完全崩溃 - 然后将你的组合/缩小的JS所在的脚本文件排入队列。这绝对适用于我,结果是一个143,000+ b JS文件。我知道,它可能看起来像JS文件上的一个重要标签,但通过简化诸如通过'deregister_script'在WP中组合JS的东西,它减少了我的页面超过30多个本地和外部JS的HTTP请求。我页面上最重的JS现在涉及页脚中的分析和AdSense代码。而且,我只有大约10-15个请求。
很棒的提示:组合CSS,1个CSS文件,1个JS文件,你的页面会飞!
希望这会有所帮助。
答案 1 :(得分:0)
我不确定你在这里寻找什么,但看起来你可以通过结合你的两个初始化陈述来简化事情
function my_init_method() {
if (!is_admin()) {
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js');
wp_enqueue_script( 'jquery' );
wp_deregister_script( 'cufon' );
wp_register_script( 'cufon', 'http://mydomain.com/wp-content/themes/simplefolio/js/cufon-yui.js');
wp_enqueue_script( 'cufon' );
}
}
add_action('init', 'my_init_method');
此外,您应确保http://mydomain.com/wp-content/themes/simplefolio/js/cufon-yui.js
文件存在且可从您的浏览器访问。