概要
wp_is_https_supported
関数は、サイトがHTTPSに対応しているかどうかを調べるために使用されます。この関数は、特にセキュリティやデータ保護が重視されるサイトで有用です。以下のような機能を実装する際にしばしば利用されます。
- SSL証明書の設定確認
- HTTPS対応のリダイレクト機能
- セキュアなクッキーの設定
- REST APIのセキュリティ強化
- サイト内リンクのHTTPS化
- 外部リソースのセキュアな呼び出し
- セキュリティプラグインとの連携
- ページロード時のセキュリティチェック
構文
wp_is_https_supported();
パラメータ
この関数にはパラメータはありません。
戻り値
この関数は、サイトがHTTPSに対応している場合はtrue
を、そうでない場合はfalse
を返します。
関連する関数
使用可能なバージョン
この関数は、WordPress 4.9以降で使用可能です。
コアファイルのパス
wp-includes/functions.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: HTTPS対応の確認
if ( wp_is_https_supported() ) {
echo 'このサイトはHTTPSに対応しています。';
} else {
echo 'このサイトはHTTPSに対応していません。';
}
このサンプルコードはサイトがHTTPSに対応しているかどうかを確認し、対応していればその旨を表示します。
サンプル2: セキュアなクッキーの設定
if ( wp_is_https_supported() ) {
setcookie('example', 'value', time() + 3600, '/', '', true, true);
}
このコードは、HTTPSがサポートされている場合のみ、セキュアなクッキーを設定します。
サンプル3: リダイレクト処理
add_action('template_redirect', function() {
if ( ! wp_is_https_supported() ) {
wp_redirect('https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
exit;
}
});
このサンプルは、サイトがHTTPSに対応していない場合にHTTPSへリダイレクトします。
サンプル4: REST APIのエンドポイントをセキュアに
add_filter('rest_authentication_errors', function($result) {
if ( ! wp_is_https_supported() ) {
return new WP_Error('rest_no_https', 'このAPIはHTTPSが必要です。', array('status' => 403));
}
return $result;
});
このコードは、REST APIエンドポイントにHTTPSが必要であることを強制します。
サンプル5: 外部リソースの呼び出し
if ( wp_is_https_supported() ) {
echo '<script src="https://example.com/script.js"></script>';
} else {
echo '<script src="http://example.com/script.js"></script>';
}
このサンプルでは、HTTPSがサポートされている場合にセキュアな外部スクリプトと非セキュアなスクリプトの読み込みを選択します。