簡體   English   中英

正確注冊和入列女單詞腳本-使腳本正常工作的問題

[英]Properly register and enqueue scripts in wordress - Issue getting scripts to work

我一直在研究wordpress主題,並且在網站中使用了不同的javascript元素。 當我談到Javascript和JQuery時,我還是個菜鳥,所以我將腳本和CDN鏈接直接插入Header.php的<head>部分。

當我的某些下拉列表停止工作時,我意識到這在JQuery版本之間造成了沖突,並且我一直都在做錯此事。

因此,我已經了解了有關注冊和排隊腳本的所有知識,但是沒有運氣讓下拉菜單重新運行。

您能從我下面發布的代碼中分辨出什么可能導致此問題嗎? 我知道我很可能因新手而犯了一個愚蠢的錯誤,我只是無法理解它是什么。

這兩個片段是網站上兩個重復元素的腳本。 滑出切換框和下拉式手風琴框。

手風琴

  jQuery(document).ready(function($) {
$( "#accordion" ).accordion({
collapsible: true, active: false
});
$('#accordion2').accordion({collapsible: true, active: false});
 $('#accordion3').accordion({collapsible: true, active: false});

});

Togglebox.js

    jQuery(document).ready(function($) {
    $( ".dropdown" ).click(function() {
  $( ".togglebox" ).toggle( "slide", 1000 );
    });
});

下面的代碼片段是我放置在Functions.php文件中的代碼。

       function my_scripts_method() {
if ( !is_admin() ) {
    wp_enqueue_script('jquery-ui-accordion');
    wp_enqueue_script(
        'custom-accordion',
        get_template_directory_uri() . '/js/accordion.js',
        array('jquery')
        );
    wp_enqueue_script(
    'custom-script',
    get_template_directory_uri() . '/js/tabs.js',
    array('jquery')
    );
    wp_enqueue_script('jquery-ui-toggle');
}
    }

add_action('wp_enqueue_scripts', 'my_scripts_method');

我已經將'accordion.js'和'togglebox.js'文件本地保存在正在使用的主題的JS文件夾中。

關於此的任何幫助將不勝感激。

創建2個JS文件:

  • 手風琴
  • togglebox.js

將2個文件保存在主題的JS文件夾中。 之后,將腳本注冊並放入主題的Functions.php文件中。

您不必注冊已經包含在Wordpress中的jquery和jquery ui。 這里有兩個有用的鏈接:
https://developer.wordpress.org/reference/functions/wp_enqueue_script/ https://developer.wordpress.org/reference/functions/wp_register_script/

在Togglebox.js中嘗試以下操作:

jQuery(document).ready(function($) {
    $( ".dropdown" ).click(function() {
      $( ".togglebox" ).slideToggle( 1000 );
    });
});

在functions.php中嘗試一下:

 wp_enqueue_script('jquery-ui-accordion');
    wp_register_script( 'custom-accordion', get_template_directory_uri() . '/js/accordion.js', array('jquery-ui-accordion'), '1', true );
    wp_enqueue_script( 'custom-accordion' );
    wp_register_script( 'custom-togglebox', get_template_directory_uri() . '/js/togglebox.js', array('jquery'), '1', true );
    wp_enqueue_script('custom-togglebox');

將functions.php中的custom更改為您的主題。 我嘗試了這段代碼,它為我工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM