久しぶりに更新しようとしたらWordpressサイトでウィジェットが設定できないということがあって困ってしまいました。ウィジェットの設定画面にいってもJavascriptのエラーが出てしまい、なにも操作できなくなりました。
出ていたエラーは私の場合は以下でした。(デベロッパーツールで確認)
Uncaught Error: Syntax error, unrecognized expression: a[rel=]
調べた所、これはWordpressをアップグレードしたことによりJQueryのバージョンがあがり、それによって過去動いていたコードが動かなくなることによる問題とのことでした。
下記のあたりが大変参考になりました。
- How to Fix jQuery breaking your site for WordPress 4.5.x
- 【Wordpress】バージョン4.5にアップデートしたらa[href^=#]のエラーが出たので対処しました。 | BeGeek
もっとずっとおせわになったサイトがあったのですが、アドレスがわからなくなりました…。残念。
で、私の場合は下記ステップで対処できました。
- 該当のテーマのフォルダに移動
- grep -rnw . -e “a\[rel=” を実行
- 該当の箇所にてa[rel=のあとがきちんとダブルクォーテーションで囲まれるようにJavascriptを更新
本来はテーマ自体を更新してそれでおしまいになるのでしょうけれども、私の場合にはテーマが有料テーマでかなり作り込まれており、テーマを更新してしまうとかなりの工数をかけて再度新しいバージョンの流儀でサイトを構成し直す必要があったので、コードの修正のみにして対処しました。
それにしても、久しぶりに触る環境だと色々なことを忘れていてやばいですね。