記事の前になにやらエラーメッセージが表示されたで【解決済み】

スポンサーリンク
この記事は約5分で読めます。

Amazonアフィリエイトに無事登録でき、調子に乗ってアフィリエイトリンクをペタペタ貼っていた時のことです。

気が付くとリンクを貼った記事の前に、なにやら見知らぬ英文が表示されているではありませんか。

Warning: count(): Parameter must be an array or an object that implements Countable in /home/サーバーのディレクトリが表示されます/shortcodes-amazon.php on line 745

PHPエラーが表示された画面のスクリーンショット
スポンサーリンク

Amazonショートコードが原因か?

shortcodes-amazon.php on line 745というamazonショートコードに原因があるようなメッセージですし、アフィリエイトリンクを削除するとエラーメッセージは消えることから、どうやらアフィリエイトリンクが原因のようです。

しかし、これからアフィリエイトを始めようとしているのに、アフィリエイトリンクを削除するなんて考えられません。

まったく解決策がつかめなかったのですが、とりあえずエラーメッセージ「Warning: count(): Parameter must be an array or an object that implements Countable in」でググってみました。

和休、PHPには明るくないのですが、どうやらPHPのバージョンが7.1から7.2へバージョンアップした際、関数の扱いが変更されたことにより生じたエラーだということが分かりました。

スポンサーリンク

作者のわいひら氏へ問い合わせようか…

ほんじゃどないすんねん、というところですが、恐らくテーマ側で対応するべき案件なので、作者であるわいひら氏に問い合わせる必要があるようです。

かといって、わいひら氏は一人でCocoonの開発をされており、神様ではありませんので、末端ユーザーの問い合わせにすべて対応するのは、とても困難です。

でも大丈夫。

Cocoonには、フォーラムが設置されていて、今回のような不具合が生じたりカスタムの相談に対し、わいひら氏や、めっちゃ詳しいCocoonユーザー氏が回答してくれるというありがたい仕組みがあります。

まさに、神ですね。

Cocoon フォーラム
Cocoon ディスカッション掲示板
スポンサーリンク

解決方法が見つかった!

ワラにもすがる思いでフォーラムを除くと、あっさりと解決方法が見つかりました。

cocoonのテーマを更新するとWarningの表示が
先日、cocoonのテーマを1.9.7に更新したところ下記のメッセージが本文上部に出てきました。 Warning: count(): Parameter must be an array or an object that implements Countable in /home/c9943372...

手順に沿って、わいひら氏が修正してくださったファイルを適用させます。

まず、GitHubのサイトから、Cocoonのファイルをダウンロードします。

GitHub - yhira/cocoon: 100%GPLの無料Wordpressテーマです。
GitHubの画面

画面中央の右端にある「clone or downlord」と表示のあるボタンをクリックし、Zip圧縮した「cocoon-master.zip」ファイルをダウンロードします。

ダウンロードできたら解凍(展開)します。和休の場合、解凍したフォルダは9.3MBのサイズになりました。

こちらのリンクにある通り、「cocoon-master」フォルダをFTPツールを使用して、自分のサーバー上にある「cocoon-master」フォルダめがけ上書きアップロードして差し替えます。

CocoonテーマをFTPでアップデートする方法
CocoonをFTPの定番ソフト「FFFTP」でアップデートする方法です。

和休は、「FileZilla」というFTPツールを使用しています。

FileZilla プロジェクト日本語トップページ - OSDN
FileZillaの日本語情報サイトです。FileZillaは、多くの機能と使いやすいインターフェイスを特徴とするクロスプラットフォームなFTP、FTPS、SFTPのクライアント(FileZilla Client)と、Windows向けの高機能なFTPサーバ(FileZilla Server)です。 このプロジェクトで...
スポンサーリンク

修正できたか?

アップロードし終えたら、エラーメッセージが表示された記事を表示してみましょう。

PHPエラーが表示された画面のスクリーンショット

なんと、相変わらずエラーメッセージが表示されているではありませんか!

こんなとき、「キャッシュ」という仕組みが影響していないかチェックしましょう。

キャッシュとは、インターネットエクスプローラーやエッジ、クローム、ファイヤフォックスといったインターネットを閲覧するソフト(ブラウザといいます。)は、サーバーから記事のページをダウンロードするとき、毎回記事のページを構成するすべてのデータをダウンロードするわけではありません。

初めてダウンロードしたページ内のデータ(例えば画像のデータ)は、パソコンの特別な場所に保存されます。2回目以降に同じページをダウンロードしたとき、画像データは前回のダウンロードの時にパソコンの中に保存した画像を使います。

この、パソコンに中に保存しているデータのことを、「キャッシュ」といいます。

キャッシュを使うことで、2回目以降は1回目に比べると高速でページが表示される、というわけなんですが、今回のように不具合が解消されたか調べたいときは、仇になってしまうのです。

スポンサーリンク

スーパーリロード

そこで、「スーパーリロード」という仕組みを使って、ページをリロード(更新・再読み込み)してみましょう。

スーパーリロードとは、Ctrlキーを押しながらF5キーを押す(又は再読み込みのボタンをクリックする)ことで、ページを構成するすべてのデータをサーバーからダウンロードします。

リフレッシュした状態で、ページが表示されるわけですね。

では、

すぅーぱぁーりろぉぉぉぉぉぉーどっっ!!!

※ボーン・片桐風

しゅぉぉぉぉぉぉぉっっ!

PHPのエラーが解消した画面のスクリーンショット

ハイ!見事にエラーメッセージが消えました!

同様の事象でお困りのCocoonユーザーさん、和休の場合、こんな方法で治りましたよ。試してみてください。

(b^ー°)

コメントをどうぞ!