概要
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の設定を行います。
これらのサンプルコードはすべて著作権フリーで作成されています。