WordPressサイトを運営する際、特定のドメインに基づいて異なる処理を実行することが求められる場合があります。例えば、テスト環境やローカル環境などの異なるドメインごとに表示内容を変更したり、特定の機能を有効にしたりすることが考えられます。この記事では、WordPressで現在のURLを取得し、ドメインごとに処理を切り替える方法をご紹介します。
現在のURLを取得する
まず、現在のURLを取得する必要があります。これを行うために、WordPressのhome_url関数とadd_query_arg関数を使用します。以下のコードをテーマのfunctions.phpファイルやカスタムプラグインに追加してください。
$current_url = home_url( add_query_arg( NULL, NULL ) );
このコードは、現在のページのURLを取得します。
ドメインを解析する
次に、取得したURLからドメインを解析します。これには、WordPressのwp_parse_url関数を使用します。
$parsed_url = wp_parse_url( $current_url );
$current_domain = $parsed_url['host'];
このコードは、URLを解析してホスト名(ドメイン)を取得します。
ドメインに基づいて条件分岐する
最後に、ドメインに基づいて異なる処理を実行するために条件分岐を設定します。以下のコードを使用して、特定のドメインに基づく処理を実行します。
function custom_domain_based_processing() {
// 現在のURLを取得
$current_url = home_url( add_query_arg( NULL, NULL ) );
// 現在のドメインを解析
$parsed_url = wp_parse_url( $current_url );
$current_domain = $parsed_url['host'];
// ドメインに基づく条件分岐
if ( $current_domain == 'example1.com' ) {
// ドメインが example1.com の場合の処理
echo 'This is example1.com';
} elseif ( $current_domain == 'example2.com' ) {
// ドメインが example2.com の場合の処理
echo 'This is example2.com';
} else {
// その他のドメインの場合の処理
echo 'This is another domain';
}
}
// フックを使用して、必要な場所で関数を呼び出します
add_action('wp', 'custom_domain_based_processing');
このコードでは、if文を使用して特定のドメインに対して異なる処理を実行しています。必要に応じて、条件分岐の中に他のカスタム処理を追加することができます。
まとめ
WordPressで現在のURLを取得し、ドメインごとに処理を切り替える方法を紹介しました。この方法を使用することで、異なるドメインごとにカスタム処理を実行し、柔軟なサイト運営が可能になります。ぜひ、あなたのWordPressサイトで試してみてください。