質問: $wp_query->found_posts; //データの中から今表示する記事数を取得 echo '全'.$all_num.'件中、'.$get_num.'件を表示'; //用意したデータを表示 ``` `functions.php`に書いたところ、以下のような警告になりました。 ##### エラー内容 ``` Warning: Cannot modify header information - headers already sent by (output started at /home/nishimachilife/nishimachilife.webcrow.jp/public_html/wp-content/themes/cocoon-child-master/functions.php:16) in /home/nishimachilife/nishimachilife.webcrow.jp/public_html/wp-includes/pluggable.php on line 1219 ``` 一般的には`WP_Query`は子テーマ内のどこに書くのでしょうか。 【追記】 ありがとうございます。 functions.phpの読み込みが順序的に早すぎたということだと思ったのですが、どのPHPファイルよりも後に画面出力の処理が読まれるようにしたら大丈夫でしょうか。 テンプレートファイルでしょうか。
回答: エラーの根拠は下記です。 * header() > > 覚えておいて頂きたいのは、header() 関数は、 通常の HTML タグまたは PHP からの出力にかかわらず、すべての実際の 出力の前にコールする必要があることです。 頻出するエラーとして、include または require 関数、他のファイルをアクセスする関数に 空白または空行があり、header() の前に出力が 行われてしまうというものがあります。同じ問題は、単一の PHP/HTML ファイルを使用している場合でも存在します。 > > > つまり、今回のエラーはWP_Query()自体ではなくecho部分で起きたエラーと思われます。