先月から今月にかけて取り組んでいたWPのカスタムフィールドについて、書いたコードの一部。
その時やりたかったことはあるURLが存在していたらそのURLのリンクボタンを表示、ない場合は表示しない。
まずは簡単に「PHP URLが存在するか」で検索してでてきた最初の下記でトライ。
で試みたところ、ページが存在していない場合でもechoされている・・
なぜだと調べたところ、ページがない場合TOPへのリダイレクトがかかっているので、結果ページは存在していると認識されていたよう。
結果的にはこれにした。
URLチェックを返ってきたステータスコードで判別する。今回でいうと、もしレスポンスが200番台だったら、echoさせるというものにしたらうまくいった。リダイレクトの場合は300番代が返ってくるので300番台は含まない。
【参考サイト】
https://www.softel.co.jp/blogs/tech/archives/4766
https://pisuke-code.com/php-check-outer-url-existence/
c.sakyou