[WordPress] AmazonJS が動かなくなった時の対処法2
前回、WordPress の AmazonJS プラグインの不具合の対処法を書いた。
あの時はグルグル表示になってリンク先に飛べない状態だった。
しかし再度アクセスすると、今度は何も表示されない状態なのだ。リンクが表示されるべき部分に変な空白ができている。
こういう場合に原因を解明するには Google Chrome の Developer Tools を使うといい。「右上の3点アイコン>More Tools>Developer Tools」をクリック。そして、Console タブをクリックする。そこにエラーログが表示されているはずだ。
エラーログを読むと AmazonJS 関係らしきところに、以下のように書かれていた。
This request has been blocked; the content must be served over HTTPS.
どうやら https で接続すべきところを http で接続しているようだ。私の WordPress は Really Simple SSL というプラグインを使って https 接続にしている。それも関係しているのかもしれない。
Really Simple SSL – WordPress plugin | WordPress.org
https://wordpress.org/plugins/really-simple-ssl/
とりあえず AmazonJS のプラグインを調べてみることにした。
環境:macOS Catalina 10.15.2、WordPress 5.3.2、AmazonJS プラグイン v0.8、スターサーバー(レンタルサーバー)
(1)AmazonJS のファイルをダウンロード。今は v0.8 を使用中なのでそれをダウンロード。解凍。
Releases · makotokw/wp-amazonjs
https://github.com/makotokw/wp-amazonjs/releases
(2)ターミナルで以下を実行。
$ grep 'http://' [1のディレクトリのパス]/*
すると、amazonjs.php に https ではなく、http と書かれた部分があると分かった。
(3)テキストエディタで amazonjs.php を開く。そして以下のように変更する。
変更前:'linkTemplate' => '<iframe src="http://rcm-jp.amazon.co.jp/e/
変更後:'linkTemplate' => '<iframe src="https://rcm-jp.amazon.co.jp/e/
(4)3をレンタルサーバー上の amazonjs.php に上書きする。
するとリンクが正しく表示されるようになった。
なお、AmazonJS プラグインの v0.10 では amazonjs.php の書き方が変わっているので、今回のような書き換えは v0.8 以外だと効かない可能性がある。
参考:
grepコマンドの詳細まとめました【Linuxコマンド集】
https://eng-entrance.com/linux-command-grep
この記事が気に入ったらサポートをしてみませんか?