質問: 1; foreach ( $xml->Feature as $key => $item ) { printf( $html, $item->Name, $item->Property->Yomi, $item->Property->Tel1, $item->Property->Address, $item->Property->Station->Railway, $item->Property->Station->Name . '駅', $item->Property->Detail->OfficialPcUrl1 ); $i++; } echo ''; ?> Navigation %2$s ', get_permalink() . '?myfilter=' . $area . '&my_page=' . $i, $i ); } ?>
回答: 65行目の if 文で、isset($_GET['my_filter']) ではない場合に $area='04100' として処理を続行してしまっているのが原因だと思います。$_GET['my_filter'] がセットされていないというのはつまり、GETリクエストのURL文字列に my_filter= を含むクエリが含まれていない。つまり form が submit されたのではないということであり、ページが最初に表示された時点を示しています。 最初にページを開いた時点では検索を実行したくないのであれば、64行目から99行目までの php スクリプトブロックの内容全体を if (isset($_GET['my_filter'])) { ... } で囲む必要があるのではないでしょうか。