2

OK、これは私を夢中にさせています:

シンプルなWordpressプラグインを構築しようとしています.jsがphpから分離されていることを確認しようとしています. 私はコーデックスとさまざまなチュートリアルを調べましたが、それらはすべて仮定を行っているか、機能していないため、私はただのばかです...基本的に、カスタムにajaxを使用していくつかの行を追加することを最終的に望んでいます投稿を追加するときの表ですが、まず最初に、この Hello World を投稿の追加ページで動作させる必要があります...

確かにそれは簡単です:

myplug/js/myplugin.js の JavaScript は次のとおりです。

jQuery(document).ready(function(){
    alert("dothis");
});

プラグインで動作するバージョンは次のとおりです(ただし、悪いです):

function admin_load_js(){
    echo '<script type="text/javascript" src="http://www.mysite.com/wp-content/plugins/myplugin/js/myplugin.js"></script>';
}
add_action('admin_head', 'admin_load_js');

これはわずかに優れていますが、機能しません (jQuery が定義されていません):

function admin_load_js(){
    echo '<script type="text/javascript" src="http://www.mysite.com/wp-content/plugins/myplugin/js/myplugin.js"></script>';
}
add_action('admin_enqueue_scripts', 'admin_load_js');

そして、これは私がそれを行うべきだと思う方法ですが、まったく機能せず、何もしません:

function admin_load_js(){
 wp_register_script( 'custom_js', plugins_url( '/js/myplugin.js', __FILE__ ) );
}
add_action('admin_enqueue_scripts', 'admin_load_js');

誰かが私にここで手がかりを教えてもらえますか?? 現時点では、Google でさえ私の友達ではありません。遅いからわからないのかな…

4

1 に答える 1

8

これを試して:

function admin_load_js(){
    wp_enqueue_script( 'custom_js', plugins_url( '/js/myplugin.js', __FILE__ ), array('jquery') );
}
add_action('admin_enqueue_scripts', 'admin_load_js');

wp_register_script はスクリプトを登録するだけです。スクリプトを手動でロードする必要があります。

または、すべてを同時に実行する wp_enqueue_script を使用することもできます。wp_enqueue_script を使用すると、スクリプトの前に依存関係が読み込まれるように依存関係 (この場合は「jquery」) を指定できます。

于 2013-10-06T20:35:54.107 に答える