先月から今月にかけて取り組んでいた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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA