皆さま引き続きコロナには気をつけてお過ごしください!

【WordPress】Cocoonの投稿画面でFatal error: Uncaught TypeError

Cocoon


久しぶりに、といういかほぼ初めて、

Cocoonを使ってみようと思い、

試しに、インストール後、自動で作成されている投稿を編集してプレビューしたところ、

次のようなメッセージが表示されました💦

Fatal error: Uncaught TypeError: implode(): Argument #2 ($array) must be of type ?array, string given in C:\xampp2\htdocs\newWP\wp-content\themes\cocoon-master\lib\seo.php on line 391

今回はこの対応をします。

 

スポンサーリンク

エラー内容を確認しよう

エラー内容を確認してみましょう。

エラー内容全文

fatalerror

 

いろいろと長く書いてありますね💦

 

まず1行目を見てみます。

Fatal error: Uncaught TypeError: implode(): Argument #2 ($array) must be of type ?array, string given in C:\xampp2\htdocs\newWP\wp-content\themes\cocoon-master\lib\seo.php on line 391

 

Uncaught TypeErrorで、

場所がseo.phpの391行目であることがわかります。

 

また、詳細も書いてありますね。

implode(): Argument #2 ($array) must be of type ?array

 

implodeという関数の2つ目の引数がarray配列になってないと言っていますね。

 

一番下の太字のメッセージも見ておきましょう。

 

C:\xampp2\htdocs\newWP\index.php(17): require(‘C:\\xampp2\\htdoc…’) #15 {main} thrown in C:\xampp2\htdocs\newWP\wp-content\themes\cocoon-master\lib\seo.php on line 391

 

同じ場所を指しています。

 

スポンサーリンク

対応しよう

ATOMなどのテキストエディタで開いてみます。

 

該当がいとうのコードはこれ。

  •     $keywords = implode($category_names, ‘,’);

 

たしかに2つ目の引数が「,」になっており、

array配列にはなっていないですね。

 

念のため、ネットでも調べてみます。

 

エラー内容で検索して出てきたのがこちら↓

 

修正内容はこちら↓

 

エラー内容は同じではないものの、

TypeErrorであること、

私の環境のコードが修正前と同じであることからして、

ここが原因ですね。

 

では、下のコードに直して、ファイルを保存してみます。

  • $keywords = implode(‘,’, $category_names);

 

再度エラー画面を読み込みすると…?

修正後

 

にゃこ
無事表示されたにゃ!

 

スポンサーリンク

コードの意味を確認しておこう

今回の対象はimplode関数。

 

implode関数とは、

「配列要素を文字列により連結する」関数。

 

1つ目の引数が上記の「文字列」

2つ目の引数が「配列要素」で、連結したい文字列の配列。

 

つまり、2つ目に入っているいくつかの文字列を、

1つ目の文字列を入れながら連結させる。

 

もし、array配列に「1」、「2」、「3」が入っており、

区切り文字を「/」にした場合、

結果は「1/2/3」になるということですね。

にゃこ
にゃこ

1つ勉強になったにゃ!

タイトルとURLをコピーしました