WordPressで再利用ブロックや一部機能が動作しなかった時の対処法(The Thor)※2019-11-21更新

The Thorを使い始めてからWordpressの再利用ブロックが正常に動かなかったり、一部のボタンアイコンが動作しなかったりしたので、調べてみました。

※下の方に修正方法も載せていますが、テーマのphpファイルに手を入れており、最悪全くwordpressが動かなくなることもありますので、修正については自己責任にてお願いいたします。

2019-11-21追記

The Thorのバージョン: 1.6.1がリリースされたので適用したところ、各JS処理を内包する大本<$(function() {~}の部分>のfunctionの「$」の表記は「jQuery」に修正されていました。
これにより、今まで起きていたJSエラーは発生しなくなりましたが、 $(function() {~}の内側の各処理におけるJSの定義にはまだ「$」が使われていたので、ボタンが押しても反応しない、The Thorで使えるはずの機能が使えないなどある場合にはやはりテーマファイルの修正が必要かもしれません。

原因はThe ThorのJSエラーっぽい

ボタンの挙動がおかしいこともあり、コンソールを調べてみたところ下記のようなエラーが発生してました。
※コンソールはChromeでF12キーを押すと、開発者ツールが表示され、その中の開発者ツールの「Console」タブに表示されます。
※エラー見たい方はConsoleタグを開いたまま、画面をF5キーなどでリロードしてあげてください。

エラーが起きていたファイルは下記の2ファイルで、原因はどうやらJqueryを使う記述で$()のように書いてたためでした。

  • /themes/the-thor/admin/js/icon_window.js
  • /themes/the-thor/admin/js/uploader.js

WordPressでjQueryを使う場合は$が使えず、jQueryと記述する必要があります。

修正方法

WinScpなどを使い、上記のエラーが起きていたファイルが存在する「/themes/the-thor/admin/js/」を開きます。

icon_window.jsの修正

    $('#show').click(function(e) {
        $('#popup, #layer').show();
    });
     
    $('#close, #layer').click(function(e) {
        $('#popup, #layer').hide();
    });
    jQuery('#show').click(function(e) {
        jQuery('#popup, #layer').show();
    });
     
    jQuery('#close, #layer').click(function(e) {
        jQuery('#popup, #layer').hide();
    });

uploader.jsの修正

こちらも「icon_window.js」同様に”$”をすべて”jQuery”に変換してください。

修正後はブラウザのキャッシュをクリア

ChromeやIEであれば、「Ctrl」 + 「Shift」 + 「Delete」キーの同時押しでキャッシュ削除画面が出てくるので、そこで期間を「全期間」に設定し、削除してあげてください。※ここ大事です

修正後はもう一度ブラウザでコンソールを見て、エラーが無くなっていれば対応完了です。
僕の場合はこの処理で再利用ブロックの使用や、挙動のおかしかったボタンの動作も正常になりました。