皆様、こんばんは。
今回の投稿は、「WordPress」の「post-template.php」というPHPファイルに表示される「Warning: count():」という警告メッセージに関する投稿となります。
それでは今回の投稿にまいりましょう。
【スポンサーリンク】
はじめに
【目次】
さて改めまして今回の投稿は、「WordPress」の「post-template.php」というPHPファイルに表示される「Warning: count():」という警告メッセージに関する投稿になります。
当ブログが新規記事については約二年ぶりとなりますが、当記事を参照いただいている皆様におかれましては、本当にご無沙汰しております。
当ブログにつきましては、2020年2月より本格的に記事更新を再開してから、昨日に当ブログを設置しているレンタルバーを「wpX Speed」に移行いたしました。
そして移行後に「wpX Speed」に設置した当ブログの動作確認を行ったところ、当ブログのグローバルメニューに表示している全記事一覧という名称の固定ページに警告メッセージが表示されていることを発見した次第です。
全記事一覧という名称の固定ページに表示される警告メッセージに関しては、すでに本日警告メッセージの内容を改善して解決していますが、当ブログと同様に「WordPress」でWebサイトを構築している方々の参考として当記事に記載いたします。
そこで今回の投稿では、「WordPress」の「post-template.php」の固定ページで表示される「Warning: count():」という警告メッセージの解決方法について、記事を記載してまいりたいと思います。
それでは本題に入りましょう。
【スポンサーリンク】
「post-template.php」の固定ページで表示される「Warning: count():」という警告メッセージの詳細内容
それでは初めに「WordPress」の「post-template.php」の固定ページで表示される「Warning: count():」という警告メッセージの詳細内容について記載いたします。
まずは以下の「post-template.php」の固定ページで表示される「Warning: count():」という警告メッセージの詳細内容を参照してください。
<警告メッセージの詳細内容>
1、当ブログの「WordPress」のバージョンとPHPバージョン
・「WordPress」のバージョン:5.3.2
・ PHPバージョン:7.3.14
1、メッセージ内容
Warning: count(): Parameter must be an array or an object that implements Countable in /home/サーバーID/japan-secure.com/public_html/wp-includes/post-template.php on line 316
2、画像
このように当ブログの全記事一覧という名称の固定ページに「Warning: count():」という警告メッセージが表示されていますが、この警告メッセージの意味することは「パラメータは配列またはカウントできる機能が実装されたオブジェクトでなければならない」ということになるようです。
当ブログ管理人も正直「WordPress」に詳しいわけではないですが、実際に以下のように警告メッセージに表示されている「post-template.php」というファイルのエラー箇所を確認してみました。
<「post-template.php」というファイルのエラー箇所>
$slug_decoded = urldecode( $term->slug );
if ( $slug_decoded !== $term->slug ) {
$templates[] = "taxonomy-$taxonomy-{$slug_decoded}.php";
}
このように実際に「post-template.php」というファイルのエラー箇所を確認してインターネット上で検索も行いましたが、「post-template.php」の固定ページで表示される警告メッセージに対する情報は見つかるものの、当ブログの「WordPress」の「post-template.php」というファイルのエラー箇所に該当する情報はありませんでした。
ただし「post-template.php」の固定ページで「Warning: count():」という警告メッセージが表示される原因については、インターネット上の情報から判明することは出来た次第です。
当記事の冒頭で記載するように、昨日に当ブログを設置しているレンタルバーを「wpX Speed」に変更しましたが、「WordPress」を設置するレンタルサーバーでPHP7.2以後のバージョンを設定すると当ブログの全記事一覧という名称の固定ページに表示された「Warning: count():」という警告メッセージが表示されることがあるようでした。
そしてインターネット上の情報によると、PHP7.2の変更として「count」と呼ばれる関数の扱いが以前のバージョンとは異なり、「count」と呼ばれる関数にカウントできない値を入力した場合に、警告メッセージが表示されるという仕様変更があったということです。
そして当ブログの全記事一覧という名称の固定ページに表示された「Warning: count():」という警告メッセージが表示される原因としては、「post-template.php」というファイルが直接の原因ではなく、「post-template.php」というファイルが表示している「WordPress」のテーマファイルやプラグインが原因として挙げられるということでした。
当ブログの全記事一覧という名称の固定ページについては、「PS Auto Sitemap」というプラグインを使用して作成したサイトマップを「all-post.php」というファイルをテーマファイルにアップロードして全記事一覧という固定ページを表示しています。
そこで以下の「all-post.php」というファイルの記述内容を参照してください。
<「all-post.php」というファイルの記述内容>
これが「all-post.php」というファイルの記述内容になりますが、赤線項目に表示されている<?php the_content()?>という値については、投稿記事の本文を取得する関数になります。
そしてこの<?php the_content()?>という値で取得した本文を「post-template.php」というファイルから固定ページに表示する場合に「Warning: count():」という警告メッセージが表示されるということが判明した次第です。
「post-template.php」の固定ページで表示される「Warning: count():」という警告メッセージの詳細内容に関する記載は以上です。
「post-template.php」の固定ページで表示される「Warning: count():」という警告メッセージの対策方法
それでは次に「post-template.php」の固定ページで表示される「Warning: count():」という警告メッセージの対策方法について記載いたします。
前項で記載するように「post-template.php」の固定ページで表示される「Warning: count():」という警告メッセージについては、「all-post.php」というファイルに記載されている<?php the_content()?>という値で取得した本文を「post-template.php」というファイルから固定ページに表示する際に表示されます。
そして当ブログでは「all-post.php」というファイルに記載されている<?php the_content()?>という値を別の値に変更することで解決することができました。
そこでまずは再度「all-post.php」というファイルの記述内容を参照してください。
<「all-post.php」というファイルの記述内容>
1、修正前
2、修正後
このように当ブログの場合は、<?php the_content()?>という値を投稿記事本文の抜粋を取得する関数である<?php the_content()?>という値に変更することにより、以下のように「post-template.php」の固定ページで表示される「Warning: count():」という警告メッセージを消すことができました。
<当ブログの全記事一覧という名称の固定ページ>
このように仮に当ブログと同様に「WordPress」を使用しているWebサイトを運営している方において、当ブログと同様に「post-template.php」の固定ページで「Warning: count():」という警告メッセージが表示される場合には、今回の投稿記事で記載する内容を検討してください。
「post-template.php」の固定ページで表示される「Warning: count():」という警告メッセージの対策方法に関する記載は以上です。
あとがき
さて今回の投稿は以上となります。
今回の投稿で記載する記事以外の「WordPress」の使い方に関連する記事に興味がある方は、ぜひ一度以下の「WordPress」の使い方に関連する記事のまとめを参照してください。
<「WordPress」の使い方に関連する記事のまとめ>
1、URL
それでは以上です。