urlが存在するかをチェックする

WordPressのHTTP APIを使って、urlが存在するかをチェックする方法

$url = 'http://hogehoge.com';
$response = wp_remote_head( $url, array( 'timeout' => 5 ) );
/* We'll match these status codes against the HTTP response. */
$accepted_status_codes = array( 200, 301, 302 );
/* If no error occured and the status code matches one of the above, go on... */
if ( ! is_wp_error( $response ) && in_array( wp_remote_retrieve_response_code( $response ), $accepted_status_codes ) ) {
/* Target URL exists.  */
echo 'ok';
}
else
{
/* If we have reached this point, it means that either the HEAD request didn't work or that the URL
* doesn't exist. This is a fallback so we don't show the malformed URL */
echo 'ng';
}

こちらのを元に改変
http://maorchasen.com/blog/2012/09/18/how-to-check-whether-an-external-url-exists-in-wordpress/

responseが200だけの場合は$accepted_status_codes を200だけにする、など必要に応じて変更する。

コメントを残す

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