概要
site_url
フィルタは、WordPressサイトのURLを取得、変更する際に使用されるフィルタです。このフィルタは、サイトのURLを動的に変更する必要がある場合に役立ちます。具体的には、サードパーティのサービスやカスタムのURL短縮を実装する際に便利です。
よく使われる機能としては以下のようなものが挙げられます。
1. ブランディングURLの設定
2. サードパーティーAPIのURL拡張
3. URLのリダイレクト処理
4. マルチサイト環境におけるURL調整
5. SSL化後のURL変更
6. CDN用のカスタムURL設定
7. テスト環境のURL調整
8. ポート番号の追加や変更
構文
apply_filters( 'site_url', string $url, string $path, string $scheme );
パラメータ
$url
– 現在のサイトURL$path
– URLに追加するパス$scheme
– スキーム(http, httpsなど)
戻り値
- フィルタリングされたサイトURL
関連する関数
使用可能なバージョン
- WordPress 1.5 以降(非推奨または削除されたバージョンはありません)
コアファイルパス
wp-includes/rest-api/endpoints/class-wp-rest-sites-controller.php
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 | 〇 |
サンプルコード
サンプルコード1: URLの変更
add_filter('site_url', function($url) {
return str_replace('http://', 'https://', $url);
});
このコードは、サイトURLをhttpからhttpsに変更します。
サンプルコード2: カスタムパスの追加
add_filter('site_url', function($url, $path) {
return $url . '/custom-path/' . $path;
}, 10, 2);
このコードでは、すべてのサイトURLにカスタムパスを追加します。
サンプルコード3: サードパーティサービスのURLを追加
add_filter('site_url', function($url) {
return $url . '/services/';
});
このコードは、すべてのサイトURLに特定のサービスへのパスを追加します。
サンプルコード4: リダイレクト用URLの設定
add_filter('site_url', function($url) {
return $url . '/redirect/';
});
このコードは、サイトURLにリダイレクト用のパスを付与します。
サンプルコード5: テスト環境用のURL変更
add_filter('site_url', function($url) {
if (defined('WP_ENV') && WP_ENV === 'testing') {
return 'https://test.example.com';
}
return $url;
});
このコードは、環境変数がテスト用の場合に特定のURLを返します。