個人で開発していると何かとマイルストーンを設定できないのでなんとなくWordPressのバージョンアップをキッカケにしてみたけどリリースサイクルが速いとしんどい。
0.4.2変更点
余計なこととバグフィックスしかしていない。
- jQueryをフッターに配置しても動作するようにした
- 管理ページでのjs/cssの使い方の修正
- wp-configを1階層上においても動作するように修正
- 作品検索機能でのエラーメッセージ表示の改善
なんか既存のバージョンが何も問題なく使えている人にとっては余計な修正しかしていない。
こういう時のためにGitHubにコードをおいているので何かあったら 古いバージョン をつかってください。
管理ページ関連の修正
今回の更新は管理ページ絡み、投稿ページでAmazon作品を検索する際の修正がメインになっている。
ロリポップの対規模な乗っ取り騒ぎでWordPressのセキュリティについての意識が高まっている今日このごろ。データベースのパスワードを書いたwp-config.phpをドキュメントルートの外に置くために1階層上のフォルダにおいてもWordPressは動くようになっているがこれを参考にしてAmazon検索も動かせるようにした。
あと前回のバージョンではjQueryなどスクリプトの競合問題に苦しんでいたがこれは管理ページでも同じこと。投稿ページで表示しているAmazon検索ページはiframeで表示されるので誰にも迷惑を掛けることはないと油断していたが、管理ページに機能追加する他のプラグインがインストールされる環境ではこのiframeのページにもスクリプトを追加してくるのでこちらが迷惑をかけずとも干渉は受ける。
そのため他のプラグインのスクリプトがエラーになるとまた検索機能が動作しないということが起こりえる。対策として wp_enqueue_scripts
で依存関係を適切に設定してWordPress同梱のjQueryをつかうようにした。
他の管理ページにスクリプトを追加するプラグインがWordPress同梱のjQueryで動くのであればおそらくは共存できるだろう。
高速化のための余計なこと
WordPressブログにngx_pagespeedを適応してみたを実現するためにこのブログのjQueryをフッターに移動し、それで動くように wp_localize_script
をつかうように変更した。
いろいろ試したけど他のプラグインが古いjQueryを突っ込んでる例のケースを想定するとそうするしか無かった。
まとめ
今まで検索が動かなくて使えなかったという人には意味のある修正を盛り込んだが、今まで普通に使えている人にとっては何も嬉しい修正をしていないし、地味だけどちょっとした変更になっているで何かあったら報告を希望。
動かないときはサーバの環境、使っているテーマやプラグインなどいろいろ思いつくことを疑ったり、教えてもらうとうれしいです。結局のところ単に動かないと言われても僕にとっては「このブログでは動いている、大丈夫だ問題ない。」で済んでしまいます。問題が手元で再現できない場合、原因をこのブログの環境との差分を推測して追っていかないといけなく手がかりがない場合この作業は非効率です。ですので何も情報がないと手の打ちようもアドバイスのしようも無かったりします。