簡體   English   中英

Wordpress插件無法加載jQuery

[英]Wordpress plugin doesn't load jQuery

我正在Wordpress中為我的網站構建FAQ插件,但jQuery無法加載。 當我嘗試早些時候在聯系人表單上隱藏提交按鈕並不得不用CSS將其隱藏時,我遇到了同樣的問題。 還應該說我是jQuery新手,可能我錯過了一些東西。 謝謝!

PHP:

    wp_register_script( 'javascript', plugins_url('js/javascript.js',__FILE__ ));
    wp_enqueue_script('javascript');

echo '<div class="qaleft">' . '<div class="toggle">' . '<h3>' . $post_titles . '</h3>' . '<div class="toggle-info">' . '<p>' . $post_content . '</p>' . '</div>' . '</div>' . '</div>';

jQuery的:

$(function(){
 $('.toggle h3').on('click', function(e){
    var answer = $(this).next('.toggle-info');

    if(!$(answer).is(":visible")) {
      $(this).parent().addClass('open');
    } else {
      $(this).parent().removeClass('open');
    }
    $(answer).slideToggle(300);
  });
});

在Wordpress中,jQuery不使用沖突模式,因此您無法在嘗試時使用美元符號。

要解決此問題,請使用全名並將美元作為參數傳遞:

jQuery(function($){
 //from here on you can use $ as a placeholder to jQuery, as you normally do
 $('.toggle h3').on('click', function(e){
    var answer = $(this).next('.toggle-info');

    if(!$(answer).is(":visible")) {
      $(this).parent().addClass('open');
    } else {
      $(this).parent().removeClass('open');
    }
    $(answer).slideToggle(300);
  });
});

另外,通過在注冊自定義腳本時將jquery包含在dependency參數中來確保jquery已加載:

wp_register_script( 'javascript', plugins_url('js/javascript.js',__FILE__ ), array( 'jquery' ));

暫無
暫無

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

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