概要
is_ssl
関数は、リクエストがSSL(Secure Sockets Layer)を使用しているかどうかを調べるために利用される関数です。これにより、セキュリティを強化したり、HTTPS接続に関連する機能を適切に実装したりすることができます。一般的に、以下のような機能を実装する際によく使われます。
- HTTPSでのログイン認証を強化
- セキュアなデータ送信を促進
- 特定のリダイレクトをHTTPSに変更
- コンテンツがSSLを使用しているかどうかの確認
- セキュリティ関連のプラグインでの条件判定
- クッキーのセキュリティ設定
- サイトのポリシーに基づくHTTPS強制
- 自動的なHTTPからHTTPSへのトラフィックのリダイレクト
構文
is_ssl();
パラメータ
この関数にはパラメータはありません。
戻り値
is_ssl
は、リクエストがSSLを使用している場合には true
を、そうでない場合には false
を返します。
関連する関数
使用可能バージョン
is_ssl
関数は、WordPress 2.8.0 以降で使用可能です。
コアファイルのパス
is_ssl
関数は、wp-includes/functions.php
ファイルに含まれています。
サンプルコード
サンプル1: SSLかどうかの判定
if ( is_ssl() ) {
echo 'このリクエストはSSLを使用しています。';
} else {
echo 'このリクエストはSSLを使用していません。';
}
このサンプルコードは、リクエストがSSLを使用しているかどうかを判定し、その結果を表示します。
サンプル2: HTTPSへのリダイレクト
if ( ! is_ssl() ) {
wp_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
exit;
}
このサンプルは、リクエストがHTTPSでない場合に、現在のURLをHTTPSにリダイレクトします。
サンプル3: クッキーのSecure属性の設定
if ( is_ssl() ) {
setcookie( 'secure_cookie', 'value', time() + 3600, '/', '', true, true );
}
このコードは、リクエストがSSLの場合にのみSecure属性を持つクッキーを設定します。
サンプル4: HTTPS用のスタイルシートの読み込み
if ( is_ssl() ) {
wp_enqueue_style( 'secure-styles', 'https://example.com/secure-style.css' );
} else {
wp_enqueue_style( 'insecure-styles', 'http://example.com/insecure-style.css' );
}
このサンプルは、SSLが使用されている場合に異なるスタイルシートを読み込む方法を示しています。
サンプル5: HTTPからHTTPSへのトラフィックの強制
add_action( 'template_redirect', function() {
if ( ! is_ssl() ) {
wp_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 301 );
exit;
}
});
このコードは、HTTPからHTTPSへのトラフィックを強制するために、template_redirect
アクションにフックしています。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |
is_ssl
関数は、特定のWordPressバージョンで非推奨または削除されていません。