概要
wp_internal_hostsフィルタは、WordPressの内部ホスト名のリストを取得し、サイトのホスト名を照合する際に使用されます。このフィルタは、特定のホスト名とその動作をカスタマイズするために役立ちます。具体的には、以下のような機能を実装する際によく使われます。
- 外部メールサービスの統合
- カスタムドメインのハンドリング
- マルチサイト設定の管理
- プラグインの条件的な動作
- セキュリティ機能の構築
- サイト上のリダイレクトルールの定義
- 特定のホスト名に対するカスタマイズ
- デバッグ情報の出力
構文
apply_filters( 'wp_internal_hosts', $hosts );
パラメータ
$hosts(array): 既定の内部ホスト名の配列。
戻り値
- (array): フィルタをかけた後の内部ホスト名の配列。
関連する関数
使用可能なバージョン
- WordPress 4.0.0以降
ワードプレスのコアファイルのパス
wp-includes/default-filters.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
add_filter('wp_internal_hosts', function($hosts) {
$hosts[] = 'example.com';
return $hosts;
});
このコードは、デフォルトの内部ホスト名のリストに example.com を追加します。
サンプルコード 2
add_filter('wp_internal_hosts', function($hosts) {
return array_merge($hosts, ['another-example.com', 'yetanother.com']);
});
このコードは、デフォルトのホスト名に2つの新しいホスト名を追加します。
サンプルコード 3
add_filter('wp_internal_hosts', function($hosts) {
return array_filter($hosts, function($host) {
return strpos($host, '.dev') === false; // .dev ドメインをフィルタリング
});
});
このコードは、ホスト名から .dev ドメインを除外します。
サンプルコード 4
add_filter('wp_internal_hosts', function($hosts) {
if (is_localhost()) {
$hosts[] = 'localhost';
}
return $hosts;
});
このコードは、ローカルホストでアクセスしている場合に localhost を内部ホスト名に追加します。
サンプルコード 5
add_filter('wp_internal_hosts', function($hosts) {
return ['my-custom-domain.com']; // 任意のドメインに置き換え
});
このコードは、内部ホスト名を my-custom-domain.com のみに設定します。
引用元のページはそれぞれのサンプルコードに基づいて適宜検索等で追加してください(著作権の観点から、具体的な引用元は記載しておりません)。