概要
home_url
フィルタは、現在のブログのホームURLを取得する際に使用され、さまざまな機能の実装に役立ちます。このフィルタは、特定の条件に基づいてURLを変更したり、サイトの設定に応じて動的にURLを生成したりする際によく使用されます。以下は、このフィルタがよく使われる機能の例です。
- SEOの観点から指定のURLにリダイレクトする
- テーマやプラグインの設定に応じてURLを変更する
- 特定のユーザー役割に基づいて異なるホームURLを表示する
- 外部サイトからのリンクを変更する
- 環境ごとの設定で異なるURLを使用する
- SSL/HTTPSを強制するためにホームURLを調整する
- マルチサイトの設定で異なるサイトを切り替える
- プラグインによって生成されるカスタムURLの調整
構文
add_filter( 'home_url', 'custom_home_url' );
function custom_home_url( $url ) {
// カスタム処理
return $url;
}
パラメータ
$url
(string): 現在のホームURL
戻り値
- string: フィルタリングされたホームURL
関連する関数
使用可能なバージョン
このフィルタはWordPress 2.5以降で使用可能です。
コアファイルのパス
wp-includes/canonical.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に「/home」を追加
このコードは、現在のホームURLに「/home」というパスを追加します。
add_filter( 'home_url', function( $url ) {
return $url . '/home';
});
サンプルコード2: HTTPSを強制
このコードは、ホームURLを常にHTTPSで取得するように変更します。
add_filter( 'home_url', function( $url ) {
return str_replace( 'http://', 'https://', $url );
});
サンプルコード3: 環境によって異なるURLを設定
このコードは、開発環境と本番環境で異なるホームURLを設定します。
add_filter( 'home_url', function( $url ) {
if ( defined('WP_ENV') && WP_ENV === 'development' ) {
return 'http://dev.example.com';
}
return $url; // 本番環境のURLはそのまま
});
サンプルコード4: 特定ユーザーに対して異なるURLを表示
このコードは、特定のユーザーに対して別のホームURLを表示します。
add_filter( 'home_url', function( $url ) {
if ( current_user_can( 'administrator' ) ) {
return 'http://admin.example.com';
}
return $url;
});
サンプルコード5: リダイレクト用のカスタムURLを設定
このコードは、特定の状況下でカスタムリダイレクトURLを設定します。
add_filter( 'home_url', function( $url ) {
if ( is_user_logged_in() ) {
return 'http://members.example.com';
}
return $url;
});
上記のサンプルコードはすべて著作権フリーであり、特定の機能を実現するための使い方を示しています。