(腰かけSE様よりご指摘をいただき訂正:2013-03-23)
WordPressのプラグインHeadSpace2の設定画面で、「ページモジュール」表示中に、
- モジュールのドラッグ&ドロップができない。
- メニューバーの「メニューを閉じる」でメニューは閉じない。
- モジュールの「編集」ボタンをクリックすると、おそらく表示しているページにappendかprependされるだろう要素が無装飾で表示されてしまう。
WordPressは最近バージョンが3.5になったらしいのだけれど、そもそも最近になって使い始めたものだから前のバージョンだったら動くのかもわからない。
ただ、なんとなくだけど上記の症状から jQuery か jQuery ui の挙動がおかしい感じがする。。。
GoogleChromeの“要素を検証”で確認
対象のページで
右クリック > “要素を検証(N)” > “Resources”
で load-scripts.php にエラーを発見。
やっぱり jQuery の読込み時にエラーが発生しているみたいだ。
jQuery関連のバージョンダウンでサクッと解決
調べてみるとWordPressが3.5になったときに、jQuery 関連のバージョンも変更されていたので、
とりあえず WordPress3.4.2 に内包されている jQueryフォルダ(/wp-includes/js内) をアップロードしてみたら、上記3つの問題は全て解決。
他のプラグインとかで問題が出てくるかもしれないが、今のところは何も起きていない。
注意
おそらくWordPressのアップグレードに伴うjQueryのバージョン変更により、HeadSpaceが正常に動作しなくなったものと考えていますが、実際はどこがどうエラーを起こしているかまでは検証してはおりません。
追記:WordPress3.5.1でも同じような症状にでくわした。
上記と同様にjQueryフォルダを3.4.2のものと入れ替えても解決しないので、
フォルダ内を覗いてみると3.4.xから3.5.xのときにjsのファイル名が変わってた。
- jQuery
- [wp3.4]jquery.js(ver.1.7.2) ⇒ [wp3.5]jquery.js(ver.1.8.3)
- 非圧縮ファイル
- [wp3.4]jquery.xxx.dev.js ⇒ [wp3.5]jquery.xxx.js
- 圧縮ファイル
- [wp3.4]jquery.xxx.js ⇒ [wp3.5]jquery.xxx.min.js
- 追加ファイル
- [wp3.5]jquery.masonry.min.js
- uiフォルダ内
- みてない
つまり、WordPress3.4.2内のjQueryフォルダを読込ませるだけでは、load-script.phpscript-loader.php はちゃんとjsファイルを読込めてないということだから、
WordPress3.5.1の load-script.phpscript-loader.php 内のjQuery関連のjsファイル読込み部分を書き換えることで解決するはず。
でも面倒だったので、機能不全にはなっても致命的エラーはないだろうと高を括って WordPress3.4.2のload-script.phpscript-loader.phpと入れ替えて解決。
ちなみに、WordPress3.4.2のload-script.phpscript-loader.phpだと122行目、3.5.1だと127行目あたりでjQuery関連を読込んでいる。
さらに追記:最終的な解決方法
上記の方法でHeadSpaceは動くようになった。が、管理画面上でフォーム部品(主にボタン)の描写と挙動がおかしくなった。
あるじゃないか、致命的なエラー。描写はともかく挙動がおかしくなるのは困る。
ということで不完全燃焼気味の応急処置の方法は、以下のようになる。
/wp-includes/js/jQuery/
と/wp-includes/
を3.4.2のものと入れ替える。load-script.phpscript-loader.php- HeadSpaceの設定をする(以後、変更しないでいいように入念に)。
/wp-includes/js/jQuery/
と/wp-includes/
を3.5.xのものに戻す。load-script.phpscript-loader.php
jQueryフォルダ交換とload-script.phpscript-loader.php内のjQuery読込み部分のみの書換をした場合については未検証。
私も同じような現象が発生しています。
返信削除ちなみにWordPress3.4.2の時はちゃんとモジュールのドラッグ&ドロップが出来ていました。
jQueryをWordPress3.4.2のものに変更して確認してみます。
初コメント!ありがとうございます。
削除上記のHeadspace2の問題は、自分以外の人間が試行錯誤しながら設定したWP内で起こった問題を、自分なりに調べた上での解決策ですので、万人に通用する方法ではないかも知れません。
よろしければその後どうなったか教えていただけませんか?
HeadSpace2のトラブル対応で参考にさせて頂きました。
返信削除実際に行ってみたのですが、最終的な解決方法で無事、トラブルを解消することが出来ました。
1点、違う点ですが、wp-includesフォルダの中にload-script.phpが無く、script-loader.phpを入れ替えることによってモジュールの移動が出来るようになりました。
有難う御座います。
ご指摘いただきありがとうございます。
削除load-script.phpは別のところにあるものでした。
指摘いただいた部分を修正しておきます。