2017-02-04 2 views
0

jQueryを使用してボタンのクリックイベントを作成するJavaScriptファイルを作成しようとしています。私の最初のプラグインのテスト - WordPressをロードしていないスクリプト

私はそれを動作させることはできませんし、スクリプトがロードされているかどうかもわかりません。私はページソースでそれを探しましたが、そこにはないので、まったく読み込まれていないことを示唆しています。私はプラグインとjQueryの新人ですが、私はチュートリアルに続き、以下のコードをコピーしました。

<?php 
/* 

Plugin Name: PansHousePlugin 
Plugin URI: http://pans-house.com 
Description: Adds OnClick and Scroll Functionality 
Version: 1.0 
Author: Paul Leppard 
Author URI: http://pans-house.com 

*/ 


add_action('wp_enqueue_scripts', 'load_js'); 

    function load_js() { 
wp_register_script('click_scroll', plugins_url('click_scroll.js', __FILE__), array('jQuery'), true); 
wp_enqueue_script('click_scroll'); 
} 




?> 

と同じフォルダ内にあるファイルclick_scroll.js plugin.phpファイルとして

(function($){ 

$(function(){ 
    $("#gopricing").hide(); 
    $(".showpricingbutton").on("click", function(){ 
    $("#gopricing").toggle(); 
    }); 
}); 

}(jQuery)); 

私はチュートリアルが言うとおりに、これは言ったように。プラグインはエラーなしで起動していますが、idの値を指定したdivは隠されていないので、ボタンは何もしないので、スクリプトがロードされていないと仮定しています。

おかげ

+0

をWebブラウザプレスCTRL + Uで。ソースコードを表示する。今すぐctrl + fをクリックしてclick_scroll.js を検索してください。見つからない場合はロードされません。ロードしている可能性がありますが、パスは正しくありません。 /click_scroll.jsを使用する必要があります。 –

+0

ありがとうございます。私はページソースを確認しましたが、click_scroll.jsファイルはplugins_urlの有無に関係なく存在しません。 –

答えて

1

あなたは存在しない依存関係をリストアップしています。

jQueryはライブラリの名前です。ライブラリをロードするためにそれを参照する必要があるハンドルはjqueryです。あなたは、あなたが代わりにJSにフッターにロードするように伝えようとしていたと思うときに、バージョン番号をtrueに設定しています。これに

wp_register_script('click_scroll', plugins_url('click_scroll.js', __FILE__), array('jQuery'), true); 

:この

変更

wp_register_script('click_scroll', plugins_url('click_scroll.js', __FILE__), array('jquery'), false, true); 

は、あなたが持っている次の問題は、あなたのJSです。最後の行は、ブラケットの調整を必要としますがreadyイベントを待っている必要があります。

(function($) { 

    $(document).ready(function() { 
     $("#gopricing").hide(); 
     $(".showpricingbutton").on("click", function() { 
      $("#gopricing").toggle(); 
     }); 
    }); 

})(jQuery); 

さらに読書:https://developer.wordpress.org/reference/functions/wp_enqueue_script/

+2

彼はまた 'dirname()'関数 'wp_register_script( 'click_scroll'、plugins_url( 'click_scroll.js'、dirname(__ FILE__))、array( 'jquery')、false、true)を必要とするかもしれません; 参照plugins_url from codex https://codex.wordpress.org/Function_Reference/plugins_url –

+1

@WebDevGuyプラグインがどのようにセットアップされたかによって異なります。あなたが正しいプラグインディレクトリにあるプラグインが単一のPHPファイルだった場合、作者は 'dirname()'を使いたいでしょう。通常、プラグインはプラグインディレクトリのサブディレクトリに設定されていますが、その場合は 'dirname()'が適切ではありません。そのコーデックスエントリは特によく言われていないと述べた –

+0

素晴らしい、それは今動作します。急な学習曲線が私を待っている間違いなく、今私の最初のプラグインが動作し、私が探していた結果を達成する。ありがとうナタン。 –

関連する問題