我正在尝试使用这个Justified Gallery我发现[http://miromannino.github.io/Justified-Gallery/][1]
[1]:http://miromannino.github.io/Justified-Gallery/在本网站www.dangoodeofficial.co.uk
我设法通过添加这是页脚来实现它 -
<script src="http://dangoodeofficial.co.uk/wp-content/plugins/Justified-Gallery/libs/jquery/jquery.min.js"></script>
<link rel="stylesheet" href="http://dangoodeofficial.co.uk/wp-content/plugins/Justified-Gallery/dist/css/justifiedGallery.min.css" type="text/css" media="all">
<script src="http://dangoodeofficial.co.uk/wp-content/plugins/Justified-Gallery/dist/js/jquery.justifiedGallery.min.js"></script>
但是jquery.min.js弄乱了我网站的其余部分。从上一个问题开始,我问我相信这是因为Wordpress已经内置了jQuery,但是当我在页脚中包含jquery.min.js时,我只能显示该库。
我一直在努力弄清楚如何排队脚本,因为我相信这是解决问题的方法。我之前从未这样做过,所以我真的不知道从哪里开始。我做了我的研究,并将其添加到我的孩子主题functions.php
// Additional Functions
// =============================================================================
function justifiedGallery() {
wp_enqueue_script('jQuery');
wp_register_script('JG_jQuery_js', get_template_directory_uri() . '/plugins/Justified-Gallery/libs/jquery/jquery.min.js', array('jQuery'),'', true);
wp_register_script('JG_js', get_template_directory_uri() . '/plugins/Justified-Gallery/dist/js/jquery.justifiedGallery.min.js', array('jQuery'),'', true);
wp_register_style('JG_css', get_template_directory_uri() . '/plugins/Justified-Gallery/dist/css/justifiedGallery.min.css', '','','screen');
wp_enqueue_script('JG_jQuery_js');
wp_enqueue_script('JG_js');
wp_enqueue_style('JG_css');
}
add_action ('wp_enqueue_scripts', 'justifiedGallery');
但我似乎无法让它发挥作用。我甚至尝试将我想要调用的三个文件上传到我的子主题目录中,因此文件路径为/wp-content/themes/x-child/js/jquery.justifiedGallery.min.js和两个文件的类似文件并使用
get_stylesheet_directory_uri() . 'js/.justifiedGallery.min.js', array('jQuery'),'', true);
我知道某处可能只是一个简单的错误,但由于我的知识有限,我无能为力。非常感激任何的帮助。
谢谢
答案 0 :(得分:0)
真正的问题似乎是编写得不好的插件,需要您手动将所有JavaScript复制到模板中并手动包含它而不是自己管理它。
由于在现有网站的页脚中手动包含jQuery,jQuery可能已经包含在您的模板中。如果你想确保它只被调用一次,并且不想使用它们内置的jQuery版本,你首先必须取消注册WP已经拥有的JQ版本而不是注册你自己的版本。试试这个:
function externalJQ() {
if( ! is_admin() ) {
// Register and Enqueue External jQuery in Footer
wp_deregister_script('jquery');
wp_register_script('jquery', "https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js", array(), null, true); // Or whatever version of JQ you want
wp_enqueue_script('jquery');
}
}
add_action('wp_enqueue_scripts', 'externalJQ' );
那就是说,任何值得使用jQuery的插件的插件都不应该要求jQuery绑定到$ namespace(这可能是问题的一部分,我没有通过插件的代码)你不应该'我必须这样做。
此外,插件本身应该调用它需要的任何JavaScript。如果您需要在模板中包含任何插件的JavaScript,则可能需要避开此插件。