在过去的几天里,我一直在努力构建一个主题,但我遇到了一堵墙。而我最初包括基金会。js作为一个排队脚本,我不记得为什么要添加它。今天,当我试图从我的函数中删除它(以提高页面加载速度)时。php文件,它弄乱了我所有的jQuery插件。
经过一些研究,我发现Foundation已经包含了jQuery,所以我一次加载了它的两个实例(我也从主题的js文件夹加载)。所以,现在我已经移除了基础,我的习惯。除非我在前面加上“jQuery”而不是更简单的“$”,否则js文件命令不起作用。
我想我的Wordpress安装中有一部分是我发现了漏洞的,即使我将“Foundation”名称引用保留在前面调用的jQuery文件中,主题仍然有效。就好像它必须有一个“基金会”的名字。
下面,我包括了我的脚本调用和自定义js文件,希望有人能帮助我诊断这个问题。
链接:
-Chrome Console Error Message
-jQuery & Plugins shown loading in Chrome Console
脚本调用:
function register_js() {
if (!is_admin()) {
wp_deregister_script(\'jquery\');
wp_deregister_script(\'foundation\');
wp_register_script(\'jquery\', get_template_directory_uri() . \'/js/libraries/jquery-1.7.1.min.js\');
wp_register_script(\'jquery-ui\', get_template_directory_uri() . \'/js/libraries/jquery-ui-1.8.16.min.js\', \'jquery\');
wp_register_script(\'superfish\', get_template_directory_uri() . \'/js/plugins/jquery.superfish.js\', \'jquery\');
wp_register_script(\'supersubs\', get_template_directory_uri() . \'/js/plugins/jquery.supersubs.js\', \'jquery\');
//wp_register_script(\'foundation\', get_template_directory_uri() . \'/js/plugins/jquery.foundation.js\', \'jquery\');
wp_register_script(\'custom\', get_template_directory_uri() . \'/js/custom.js\', array(\'jquery\',\'jquery-ui\') );
wp_enqueue_script(\'jquery\');
wp_enqueue_script(\'jquery-ui\');
wp_enqueue_script(\'superfish\');
wp_enqueue_script(\'supersubs\');
//wp_enqueue_script(\'foundation\');
wp_enqueue_script(\'custom\');
}
}
add_action(\'init\', \'register_js\');
自定义JS文件:
$(document).ready(function() {
/* Menu - Superfish */
$(\'ul.menu\').supersubs({
minWidth: 11,
maxWidth: 30,
extraWidth: 1
}).superfish({
hoverClass: "sfHover",
speed: \'fast\',
dropShadows: false,
delay: 0,
autoArrows: false,
animation: {height:\'show\',opacity:\'show\'}
});
/* Blog Tabs */
$(\'#tab_controls\').tabs({ fx: [ {opacity:\'toggle\', duration:\'normal\'},{opacity:\'toggle\', duration:\'slow\'}] });
});