概要
wp_update_urls_to_https
関数は、WordPressのサイトアドレスとWordPressアドレスをHTTPSに書き換えるために使用されます。この関数は、SSL証明書を設定した後に、サイトの全URLを安全なHTTPSプロトコルに切り替えたい場合や、混在コンテンツを防ぐためによく使われます。具体的には、次のような場面で利用されます。
- SSL証明書のインストール後
- ウェブサイトのセキュリティ強化のため
- SEOのため高評価を得るためにHTTPS化
- ユーザーのプライバシー保護
- ネットワークのフィッシング防止
- API通信の安全性向上
- 古いHTMLコンテンツのリファクタリング
- サードパーティのライブラリやプラグインとの互換性確保
構文
wp_update_urls_to_https();
パラメータ
この関数はパラメータを取らない。
戻り値
この関数はtrue(成功)またはfalse(失敗)を返す。
関連する関数
使用可能なバージョン
この関数は、WordPressバージョン4.7以降で利用可能です。
コアファイルのパス
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 |
サンプルコード
-
SSL証明書インストール後にサイトURLを更新する
if ( is_ssl() ) { wp_update_urls_to_https(); }
- このコードは、もしSSLが有効な場合にサイトのURLをHTTPSに書き換えます。
-
全てのコンテンツをHTTPSにリダイレクトする
add_action('template_redirect', 'force_ssl_redirect'); function force_ssl_redirect() { if ( ! is_ssl() ) { wp_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 301 ); exit; } }
- このコードは、HTTPSでないリクエストを全てHTTPSにリダイレクトします。
-
プラグイン読み込み時にHTTPSを強制する
add_action('plugins_loaded', 'ensure_https'); function ensure_https() { if ( is_ssl() ) { wp_update_urls_to_https(); } }
- プラグインが読み込まれるたびに、HTTPSが有効な場合にURLを更新します。
-
カスタムREST APIエンドポイントでHTTPSを適用する
add_action('rest_api_init', function () { if ( is_ssl() ) { wp_update_urls_to_https(); } });
- REST APIが初期化される際にHTTPSに更新します。
-
サイトの設定更新時にHTTPSを適用する
add_action('update_option', 'check_https_update', 10, 2); function check_https_update($option_name, $old_value) { if ( $option_name === 'home' || $option_name === 'siteurl' ) { wp_update_urls_to_https(); } }
- オプションが更新されるごとに、特にhomeまたはsiteurlに対してHTTPSの設定を行います。
これらのサンプルコードはすべて著作権フリーで作成されています。