get_locale()


WordPressのget_locale()関数は、現在のサイトまたはユーザーのロケールを取得するために使用されます。ロケールは言語と地域の設定を表し、テキストの表示や日付のフォーマットなどに影響を与えます。

構文

get_locale();
  • 戻り値 (string) — 現在のロケールを表す文字列(例: ‘ja_JP’)。

例1: 現在のロケールを表示する

この例では、現在のロケールを表示します。

<?php echo get_locale(); ?>

例2: ロケールに基づいて条件分岐する

ロケールが日本語の場合に特定のメッセージを表示します。

<?php if (get_locale() === 'ja_JP') { echo 'こんにちは!'; } ?>

例3: ロケールを変更する

フィルターフックを使用してロケールを動的に変更します。

add_filter('locale', function($locale) { return 'en_US'; });

例4: ロケールに応じてスタイルを変更する

ロケールが日本語の場合に特定のCSSクラスを追加します。

<body class="<?php echo (get_locale() === 'ja_JP') ? 'ja-locale' : 'default-locale'; ?>">

例5: ロケールに基づいて翻訳を読み込む

ロケールに応じて翻訳ファイルを読み込みます。

load_textdomain('my_theme', get_template_directory() . '/languages/' . get_locale() . '.mo');

例6: ロケールをユーザープロファイルから取得する

ユーザーのプロファイルに設定されたロケールを取得します。

$user_locale = get_user_meta(get_current_user_id(), 'locale', true);

例7: ロケールを一時的に変更する

特定の処理中だけロケールを変更します。

switch_to_locale('en_US'); // ロケールを変更
// ここに処理を記述
restore_previous_locale(); // 元のロケールに戻す

例8: ロケールに応じて日付フォーマットを変更する

ロケールが日本語の場合に日付フォーマットを変更します。

$date_format = (get_locale() === 'ja_JP') ? 'Y年m月d日' : 'Y-m-d';
echo date_i18n($date_format);

注意点

  • ロケールの変更はサイト全体に影響を与えるため、慎重に行ってください。
  • フィルターフックを使用する場合、他のプラグインやテーマとの競合に注意してください。
  • 翻訳ファイルが存在しない場合、デフォルトの言語が使用されます。

関連機能: