PHPスクリプトをJSスクリプトに渡そうとしています。 私はwp_localize_script関数を使用しています。wp_localize_scriptでデータが正しく渡されない
wp_register_script('googlechart', 'https://www.gstatic.com/charts/loader.js');
wp_register_script('mygaloochart_script', plugins_url('chart.js', __FILE__), array('googlechart'));
//I'm not using $atts directly for reasons
$dataToBePassed = array (
'chart' => $atts['chart'],
'element' => $atts['element'],
'elementtype' => $atts['elementtype'],
'title' => $atts['title']
);
wp_localize_script('mygaloochart_script', 'php_vars', $datatoBePassed);
wp_enqueue_script('googlechart');
wp_enqueue_script('mygaloochart_script');
これは、JSスクリプトmygaloochart_script
の最初の行です:
console.log(php_vars.chart);
しかし、私は、コンソールで次のエラーを取得する:
TypeError: php_vars is null
は私が間違って何をしているのですか?
私はしませんでした。これは必要ですか?これは 'wp_localize_script'文書には書かれていません。 –
はい、新しいスクリプトとスタイルを登録しているので、必要です。 – Ayanize
構文は何ですか?私のスクリプトで呼び出される関数は 'drawChart()'と呼ばれています(申し訳ありませんが、Wordpressの新機能です)。 –