概要
wp_parse_url
関数は、与えられたURLを解析し、その構成要素を取得するために使用されます。主に以下のような機能を実装する際に役立ちます。
- URLのスキーム(http, httpsなど)を取得する。
- ホスト名を抽出する。
- ポート番号を特定する。
- パスやクエリ文字列を解析する。
- サブドメインを取り出す。
- URLのフラグメントを取得する。
- URLのホスト部分とパス部分を分割する。
- リダイレクト先のURLを解析する。
構文
array wp_parse_url( string $url, int $component = -1 );
パラメータ
$url
: 解析対象のURL(文字列)。$component
: 取得したいURLの特定の要素を指定するための整数(オプション)。指定しない場合、全要素を返す。
戻り値
- 指定されたURLの構成要素を含む連想配列。指定された要素が存在しない場合、nullを返します。
関連する関数
使用可能なバージョン
この関数は、WordPress 4.4.0以降で利用可能です。
コアファイルのパス
/wp-includes/functions.php
サンプルコード
サンプルコード1: 基本的なURLの解析
このコードは、与えられたURLを解析し、その要素を出力します。
$url = 'https://example.com:8080/path/to/resource?query=param#fragment';
$parsed_url = wp_parse_url($url);
print_r($parsed_url);
このサンプルでは、与えられたURLからスキーム、ホスト、ポート、パス、クエリ、フラグメントを抽出します。
サンプルコード2: スキームの取得
このコードは、URLからスキーム(httpやhttps)を取得して表示します。
$url = 'http://example.com';
$parsed_url = wp_parse_url($url, PHP_URL_SCHEME);
echo $parsed_url;
このサンプルは、指定したURLのスキーム(ここでは「http」)を表示します。
サンプルコード3: ホストの取得
このコードは、URLからホスト部分を取得します。
$url = 'https://www.example.com/path';
$host = wp_parse_url($url, PHP_URL_HOST);
echo $host;
このサンプルは、与えられたURLのホスト部分を取り出し、表示します。
サンプルコード4: クエリ文字列の取得
このコードでは、URLのクエリ文字列を取得します。
$url = 'https://example.com/path?name=value&foo=bar';
$query = wp_parse_url($url, PHP_URL_QUERY);
echo $query;
このサンプルは、URLからクエリ部分(「name=value&foo=bar」)を取得して表示します。
サンプルコード5: フラグメントの取得
このコードは、URLのフラグメント(#以降の部分)を取得します。
$url = 'https://example.com/path#section1';
$fragment = wp_parse_url($url, PHP_URL_FRAGMENT);
echo $fragment;
このサンプルは、与えられたURLからフラグメント(「section1」)を取得して表示します。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | 〇 |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head | 〇 |
この関数は、特定のWordPressバージョンで非推奨または削除されていません。