2015-06-02 80 views
0

我試圖用這個有道理圖庫我發現[http://miromannino.github.io/Justified-Gallery/][1]麻煩與enqueue_scripts的畫廊插件

[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

真正的問題似乎是一個寫得不好的插件,需要你所有的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值得的鹽任何插件被綁定到$命名空間(這可能是問題的一部分,我沒有通過的代碼插件),你不應該做任何這一點。

此外,插件本身應該調用它需要的任何JavaScript。如果你需要在你的模板中包含任何插件的JavaScript,你可能想要避開這個插件。

+0

嗨,傑克,謝謝你的迴應。我想我可能會問錯誤的問題。我想我真的需要知道的是,我如何使這個http://miromannino.github.io/Justified-Gallery(http://miromannino.github.io/Justified-Gallery)從gitHub的jQuery插件工作在我的WordPress的網站?謝謝,丹 –