我正在尝试在我的WP主题(WP 3.8)的页脚中加载jquery,但是我尝试的非解决方案对我不起作用。我在网上搜索,但没有找到正确的方法在WP主题的页脚中加载jquery。
这是我的function.php
:
if (!is_admin())
add_action("wp_enqueue_scripts", "my_jquery_enqueue", 11);
function my_jquery_enqueue() {
// Deregister the included library
wp_deregister_script('jquery');
// Register the library again from Google's CDN
wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js", false, '1.10.2', true);
wp_enqueue_script('jquery');
}
这个JS在我的function.php
中使用它正确地加载到页脚中:
/* Integrate preloader script */
wp_register_script('jPreloader', get_stylesheet_directory_uri() . '/js/loader.js', 'jquery', null, true);
wp_enqueue_script('jPreloader');
wp_enqueue_script( 'myscript', get_template_directory_uri() . '/js/scripts.min.js', array( 'jquery' ), '', true );
/*
* Register and enqueue a script that does not depend on a JavaScript library.
*/
function child_add_scripts() {
wp_register_script(
'avia',
get_stylesheet_directory_uri() . '/js/avia.js',
array('jquery'),
'1.1',
true
);
wp_register_script(
'bottom',
get_stylesheet_directory_uri() . '/js/bottom.js',
array('jquery'),
null,
true
);
wp_enqueue_script('avia');
wp_enqueue_script('bottom');
}
// Run this function during the wp_enqueue_scripts action
add_action( 'wp_enqueue_scripts', 'child_add_scripts' );
不知道为什么jQuery没有加载到我的WP主题的页脚中,我做错了什么?
答案 0 :(得分:2)
试试这个:
if (!is_admin())
add_action("wp_enqueue_scripts", "my_jquery_enqueue", 11);
function my_jquery_enqueue() {
// Deregister the included library
wp_deregister_script('jquery');
// Register the library again from Google's CDN
$googleScript = 'http'. ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . '://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js';
wp_register_script('jquery', $googleScript, false, '1.10.2', true);
wp_enqueue_script('jquery');
}
答案 1 :(得分:2)
我已经使用此函数将jquery移动到页脚:
function custom_clean_head() {
remove_action('wp_head', 'wp_print_scripts');
remove_action('wp_head', 'wp_print_head_scripts', 9);
remove_action('wp_head', 'wp_enqueue_scripts', 1);
add_action('wp_footer', 'wp_print_scripts', 5);
add_action('wp_footer', 'wp_enqueue_scripts', 5);
add_action('wp_footer', 'wp_print_head_scripts', 5);
}
add_action( 'wp_enqueue_scripts', 'custom_clean_head' );
但是,我需要在我的测试网站上为我的预加载器提供解决方案:http://dev.bogosavljev.com/
有人可以看看,告诉我我做错了什么吗?
问题是页面上的内容会显示一秒钟,然后显示我的预加载器(动画字母B),然后显示淡入淡出效果,显示页面。
如何显示第一个预加载器(/js/loader.js),然后是页面? 作为参考,我使用具有相同效果的Adham网站 - http://www.adhamdannaway.com/