Nです.
タイトルのようなエラーが出てしばらく沼にはまっていました.
次同じことになったときようにメモしておきたいと思います.
エラーの詳細
症状としては&&で論理積を計算しようとしたときになぜかforループがそのコードの前にある時にエラーが出るというものでした.
以下のような単純なコードも動きませんでした.
for (i = 0; i < 10; i++) {} console.log(true && true);
エラーとしては”‘#’ not followed by identifier”という表示でした.
よくよくプレビュー表示したページのソースを見てみるとエディタでは&と書いていた場所が勝手に&になっていました(なぜ…).
しかし,forループをコメントアウトすると動きました(ほんと不思議な感じです).
ただ,forループは使いたいので別の方法を調べました(このページを参考にしました).
jsファイルを読み込む形で使用
WordPressではページでJavascriptを直書きする方法以外にも外部にjsファイルを作成してそれを読み込むことができます.
WordPressでjsファイルを読み込む際にはwp_enqueue_scriptという関数を使用するようです.
そこでWordpressのfunction.phpに以下のコードを追加しました.
function.phpは外観->テーマファイルエディタから編集することができます.
function my_scripts_method() { if(is_page('jsファイルを読み込みたいページのスラッグ'))//この行は特定のページでのみjsを読み込む用 wp_enqueue_script( 'custom_script', get_template_directory_uri() . 'theme/テーマ名を基準としたjsファイルのパス', array(), false, true ); } add_action('wp_enqueue_scripts', 'my_scripts_method');
wp_enqueuw_scriptのオプションの詳細などはこのページが大変参考になります.
if(is_page(‘jsファイルを読み込みたいページのスラッグ’))を書かない場合はすべてのページでこのjsファイルが読み込まれることになります.
これで一応エラーを回避することができました.
原因はわからないままですが…
コメント