web-dev-qa-db-ja.com

テンプレートページ内でwp_localize_scriptを使用してphpからjsにvarを転送する

私はフォーラムで助けを探していましたが、実際に私の問題にマッチするものは何もありません。

私は実際に bxSlider をWordpressで使おうとしています。私の問題は、bxsliderによって提案されたオプションで私のギャラリー画像を作成するために私が前のページから動的に得た画像のURLをjsファイルに渡す必要があるということです。 (特に thumbnail

Phpからjsに変数を渡すために、私は通常function.phpまたはプラグインでwp_localize_scriptを使いますが、テンプレートページは使いません。そしてこの場合、私は自分のスクリプトをキューに入れることすらできません。

動的変数を使ってテンプレートページからjavascriptファイルに変数を渡すにはどうすればよいですか(function.phpを通過させるのが不可能なので)

ご協力ありがとうございました !

1
jardindeden

私はついにそれを解決しました! :)

問題は、ワードプレスループの後、ページの最後に、関数自体を使用してスクリプトをローカライズしてエンキューするための関数を追加することです。だから私はようやくヘッダを取得するために前に関数を追加しました、そして今度は普通に変数を渡すことができます。

私はすでに function.phpに//自分のスクリプトを登録しています

前のコード(間違っている):

[...Code...]
function pass_var_to_js() {
    global $my_variable;
    wp_localize_script('script_name','send_var', array( $my_variable ) );
    wp_enqueue_script('script_name');
}
add_action('wp_enqueue_scripts', 'pass_var_to_js');

(右)の後のコード:

[...Code...]
add_action('wp_enqueue_scripts', 'pass_var_to_js');
get_header();
[...Code...]
function pass_var_to_js() {
    global $my_variable;
    wp_localize_script('script_name','send_var', array( $my_variable ) );
    wp_enqueue_script('script_name');
}

誰かに役立つことを願っています!

0
jardindeden