ワードプレスのhome_urlフィルタの使用方法・解説

概要

home_urlフィルタは、現在のブログのホームURLを取得する際に使用され、さまざまな機能の実装に役立ちます。このフィルタは、特定の条件に基づいてURLを変更したり、サイトの設定に応じて動的にURLを生成したりする際によく使用されます。以下は、このフィルタがよく使われる機能の例です。

  1. SEOの観点から指定のURLにリダイレクトする
  2. テーマやプラグインの設定に応じてURLを変更する
  3. 特定のユーザー役割に基づいて異なるホームURLを表示する
  4. 外部サイトからのリンクを変更する
  5. 環境ごとの設定で異なるURLを使用する
  6. SSL/HTTPSを強制するためにホームURLを調整する
  7. マルチサイトの設定で異なるサイトを切り替える
  8. プラグインによって生成されるカスタムURLの調整

構文

add_filter( 'home_url', 'custom_home_url' );
function custom_home_url( $url ) {
    // カスタム処理
    return $url;
}

パラメータ

  • $url (string): 現在のホームURL

戻り値

  • string: フィルタリングされたホームURL

関連する関数

home_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;
});

上記のサンプルコードはすべて著作権フリーであり、特定の機能を実現するための使い方を示しています。

この関数について質問する


上の計算式の答えを入力してください