[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

この記事が気に入ったらサポートをしてみませんか?