概要
sanitize_locale_name
フィルタは、ロケール名をサニタイズする機能を提供します。このフィルタは、ユーザーが入力したロケール名を安全かつ適切な形式に変換するために一般的に使用されます。具体的には、ロケール名の形式を統一したり、不正な文字を排除したりするために利用されます。
よく使われる機能の例
- ユーザーが入力したロケール名を標準化する。
- 無効なロケール名の検出と修正を行う。
- データベースに保存する前にロケール名を整形する。
- フロントエンドで表示する前にロケール名をチェックする。
- プラグインで独自のロケール名を設定する際のバリデーション。
- テーマのロケール設定を管理する。
- 言語ローカリゼーションのカスタマイズを行う。
- REST APIを通じて受け取ったロケール名の確認。
構文
add_filter('sanitize_locale_name', 'callback_function', 10, 1);
パラメータ
callback_function
: サニタイズ処理を行うコールバック関数。10
: 優先順位(デフォルト値)。1
: コールバックに渡される引数の数(ロケール名)。
戻り値
戻り値は、サニタイズされたロケール名の文字列です。
関連する関数
https://refwp.com/?titleonly=1&s=sanitize_locale_name
使用可能なバージョン
このフィルタは、WordPressのバージョン3.5以降で使用可能です。
コアファイルのパス
wp-includes/l10n.php
サンプルコード
サンプルコード1: ロケール名を小文字に変換する
add_filter('sanitize_locale_name', function($locale) {
return strtolower($locale);
});
このサンプルコードは、ロケール名を小文字に変換します。これにより、ロケール名の一貫性が保たれます。
サンプルコード2: 特定のロケール名を置換する
add_filter('sanitize_locale_name', function($locale) {
if ($locale == 'en_US') {
return 'en_US.UTF-8';
}
return $locale;
});
このコードは、en_US
というロケール名をen_US.UTF-8
に置換します。
サンプルコード3: 不正な文字を削除する
add_filter('sanitize_locale_name', function($locale) {
return preg_replace('/[^a-zA-Z_]/', '', $locale);
});
このサンプルコードは、ロケール名から不正な文字を削除し、アルファベットとアンダースコアのみを許可します。
サンプルコード4: カスタムロケール名の追加
add_filter('sanitize_locale_name', function($locale) {
$custom_locales = array('fr_FR' => 'fr_FR.UTF-8');
return isset($custom_locales[$locale]) ? $custom_locales[$locale] : $locale;
});
このコードは、カスタムロケール名を管理し、指定されたロケール名に対して適切な値を返します。
サンプルコード5: ロケール名の長さを制限する
add_filter('sanitize_locale_name', function($locale) {
return substr($locale, 0, 10);
});
このサンプルコードは、ロケール名の長さを10文字に制限します。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |
非推奨または削除されたバージョン
特に非推奨または削除されたバージョンはありません。