2017-09-14 12 views
0

私はセージで構築された私のテーマでテストAJAXリクエストをしようとしています。ですから、scripts.jsファイルにWPのAJAX処理スクリプトの正しいURLを認識させる必要があります。Sage:extras.phpからwps_localize_script()を使用してscripts.jsにPHPデータを渡すにはどうすればよいですか?

これはscripts.jsである:

console.log(resources_ajax.ajax_url); 

と、これは私はこのエラーを取得していextras.php

wp_localize_script('sage/js', 'resources_ajax', array('ajax_url' => admin_url('admin-ajax.php'))); 

である:にReferenceErrorを:resources_ajaxは

どちらが定義されていません。私はwp_localize_scriptの最初のパラメータとして間違った処理をしていると私に信じています...しかし、私はscripts.jsがenqued(それも登録しています)を見て、これはこれです:

wp_enqueue_script('sage/js', Assets\asset_path('scripts/main.js'), ['jquery'], null, true); 

データが渡さなっていない理由だから私はよく分からない。

+0

あなたはwp_localize_script関数が呼び出された後wp_enqueue_script呼び出すすなわちまたはその前にファイルをエンキューしていますか?順序は重要です。 – Kris

+0

私はそうではありませんでした!スクリプトがエンキューされる前にスクリプトをローカライズしようとしていました。助けてくれてありがとう^ _^ – Ashleigh

答えて

1

wp_localize_script関数が呼び出される前に、スクリプトが登録されていることを確認してください。 だから、順番に次のようになります。ここ

​​

詳細参照:https://codex.wordpress.org/Function_Reference/wp_localize_script

+0

ありがとう! (セージを使っている人達のためにこれをタイプし、ローカライゼーションに苦労している)main.jsのようなSageでスクリプトをローカライズしたいのであれば、Sageがenquesする 'setup.php'スクリプト。 – Ashleigh

関連する問題