2014-02-26 88 views
1

我必須將構建在HTML/CSS中的主題轉換爲Wordpress主題。我在Wordpress中很新。一下就在我的腦海中添加自定義腳本來我的主題首先是像例如波紋管在:Wordpress,以正確的方式添加自定義腳本

<!-- Bootstrap Scripts --> 
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/bootstrap.min.js"></script> 

<!-- Superslides Script --> 
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.superslides.min.js"></script> 
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.easing.1.3.js"></script> 

<!-- ScrollBar Script --> 
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.nicescroll.min.js"></script> 

<!-- Masonry Script --> 
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.masonry.min.js"></script> 

<!-- Fancybox Script --> 
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.fancybox.min.js"></script> 

<!-- Settings Script --> 
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/settings.js"></script> 

但我相信這是不添加他們正確的方式,讓我找到了另一種解決辦法,但我不知道,如果我寫的是正確的,所以下面的代碼我寫的是在functions.php文件:

// Always use wp_enqueue_scripts action hook to both enqueue and register scripts 
add_action('wp_enqueue_scripts', 'enqueue_and_register_my_scripts'); 

function enqueue_and_register_my_scripts(){ 

    // Use `get_stylesheet_directoy_uri() if your script is inside your theme or child theme. 
    wp_register_script('my-script', get_template_directory_uri() . '/js/bootstrap.min.js'); 
    wp_register_script('my-script', get_template_directory_uri() . '/js/jquery.superslides.min.js'); 
    wp_register_script('my-script', get_template_directory_uri() . '/js/jquery.easing.1.3.js'); 
    wp_register_script('my-script', get_template_directory_uri() . '/js/jquery.nicescroll.min.js'); 
    wp_register_script('my-script', get_template_directory_uri() . '/js/jquery.masonry.min.js'); 
    wp_register_script('my-script', get_template_directory_uri() . '/js/jquery.fancybox.min.js'); 
    wp_register_script('my-script', get_template_directory_uri() . '/js/settings.js'); 

    // Let's enqueue a script only to be used on a specific page of the site 
    if (is_page('careers')){ 

     // Enqueue a script that has both jQuery (automatically registered by WordPress) 
     // and my-script (registered earlier) as dependencies. 
     wp_enqueue_script('my-careers-script', get_template_directory_uri() . '/js/my-careers-script.js', array('jquery', 'my-script')); 
    } 
} 

如果是做正確的方式,然後我打電話:

<?php wp_enqueue_scripts(); ?> 

在裏面header.php文件? 如果這不是將多個腳本添加到Wordpress主題的正確方法,請讓我知道,我做錯了什麼,我會很感激它! 謝謝!!!!!

回答

2

使用wp_register_script是登記納入一個頁面上的腳本的正確方法,但不排隊它,並將其鏈接在頁面上 - 使用wp_enqueue_script爲(它使用similar parameters但註冊其添加到在合適的時間頁面)。如果首先使用wp_register_script,則還必須在某個時間呼叫wp_enqueue_script,才能將其實際添加到頁面中。您無需隨時致電enqueue_and_register_my_scripts:將其添加到「wp_enqueue_scripts」操作就足夠了。

最後,你必須給每個要註冊這些腳本/排隊了自己獨特的ID:目前你註冊他們都爲「我的腳本」,每一方都覆蓋以前的腳本。

+0

所以每個'wp_register_script'後我會添加一行: 'wp_enqueue_script('my-script');'?對? 如果不是,你能舉一個例子嗎?我如何做到這一點? –

+1

你既可以這樣做,也可以單獨使用'wp_enqueue_script':它接受的參數和'wp_register_script'完全一樣,並且如果它還沒有被註冊,它自己就會註冊腳本。再次,您必須爲每個腳本使用唯一的ID;命名他們所有'我的腳本'只會最終入列最後一個。 –

+0

它的工作,thx ...;) –

相關問題