【WordPress】投稿日の曜日を英語表記にする方法

【WordPress】投稿日の曜日を英語表記にする方法

WordPressでは、投稿日の曜日表示がデフォルトでサイトの言語設定に従って表示されます。日本語サイトの場合、曜日は「月」「火」などの日本語表記になります。しかし、国際的なユーザーを対象としたサイトや英語表記を希望する場合、曜日を英語に変更する必要があります。この記事では、WordPressで投稿日の曜日を英語表記にする方法を詳しく解説します。

デフォルトの曜日表示

WordPressでは、the_time() 関数を使用して投稿の日付と曜日を表示します。例えば、以下のコードをテンプレートに追加すると、投稿日と曜日が表示されます。

<?php the_time('Y.m.d D'); ?>

このコードでは、D が曜日を表示するフォーマット指定子です。しかし、サイトの言語設定が日本語の場合、曜日は「月」「火」などの日本語表記になります。

出力例:

2024.09.16 月

曜日を英語表記にする方法

曜日を英語表記に変更する方法はいくつかありますが、ここでは主に2つの方法を紹介します。

方法1: PHPコードをテーマに追加する

テーマのテンプレートファイル(例: single.phpcontent.php)にカスタムPHPコードを追加して、曜日を英語表記に変更します。

方法2: プラグインを使用する

コード編集に不慣れな方や、テーマのアップデートによる変更の上書きを避けたい場合は、プラグインを使用して曜日表示をカスタマイズする方法もあります。例えば、「Code Snippets」プラグインを利用してカスタムコードを追加することができます。

具体的なPHPコード例

以下に、PHPコードを使用して投稿日の曜日を英語表記に変更する具体的な方法を示します。

<?php
$days_en = array(
    '0' => 'Sun',
    '1' => 'Mon',
    '2' => 'Tue',
    '3' => 'Wed',
    '4' => 'Thu',
    '5' => 'Fri',
    '6' => 'Sat'
);

$date = get_the_time('Y.m.d');
$day_num = get_the_time('w');

$day_en = isset($days_en[$day_num]) ? $days_en[$day_num] : '';

echo esc_html($date . ' ' . $day_en);
?>

出力例:

2024.09.16 Mon

コードの解説

曜日のマッピング配列を作成:

$days_en = array(
    '0' => 'Sun',
    '1' => 'Mon',
    '2' => 'Tue',
    '3' => 'Wed',
    '4' => 'Thu',
    '5' => 'Fri',
    '6' => 'Sat'
);
  • 0 から 6 までの数字を、それぞれ英語の曜日略称にマッピングしています。

投稿の日時と曜日番号を取得:

$date = get_the_time('Y.m.d');
$day_num = get_the_time('w');
  • get_the_time('Y.m.d') で投稿の日付を YYYY.MM.DD 形式で取得。
  • get_the_time('w') で曜日を数字(0=日曜日, 6=土曜日)で取得。

英語の曜日を取得:

$day_en = isset($days_en[$day_num]) ? $days_en[$day_num] : '';
  • 曜日番号に対応する英語の略称を配列から取得。
  • 該当する曜日が存在しない場合は空文字を返します。

出力:

echo esc_html($date . ' ' . $day_en);
  • esc_html() 関数を使用して、出力内容を安全にエスケープ。
  • 日付と英語の曜日を結合して表示。

出力結果の確認

上記のコードをテーマの適切なテンプレートファイルに追加すると、以下のように表示されます。

2024.09.16 Mon

これにより、曜日が英語表記に変更されます。

この記事をシェアする

どなたでもコメントや質問をどうぞ

スパム対策のため、承認作業を行うまでは表示されません。ご了承ください。

CAPTCHA


関連記事