JOURNAL クリエイティブとマーケティングの話

【WordPress】月別アーカイブページのタイトルの表示形式を変更する方法

WordPressの月別アーカイブページのタイトルの表示形式を「2021.7」「2021.07」「July 2021」という形に変更する方法。

date.phpなどのタイトルを表示したい箇所に記述してください。

月別アーカイブページのタイトルの表示形式を「2021.7」に変更

<?php echo get_query_var('year').'.'.get_query_var('monthnum'); ?>

年や月はget_query_var関数で取得できます。

上記のソースでは「.」でつなげて表示していますが、「/」など好みに合わせて変更してください。

月別アーカイブページのタイトルの表示形式を「2021.07」に変更

<?php
	$monthnum = get_query_var('monthnum');
	echo get_query_var('year').'.'.sprintf("%02d",$monthnum);
?>

get_query_var関数で取得した月をsprintf関数で0埋めして2桁表記に変更しています。

月別アーカイブページのタイトルの表示形式を「July 2021」に変更

<?php
	$monthnum = get_query_var('monthnum'); //月を取得
	$monthnum = sprintf("%02d",$monthnum); //月を2桁に変更
	$monthnum = str_replace('01', 'January', $monthnum);
	$monthnum = str_replace('02', 'February', $monthnum);
	$monthnum = str_replace('03', 'March', $monthnum);
	$monthnum = str_replace('04', 'April', $monthnum);
	$monthnum = str_replace('05', 'May', $monthnum);
	$monthnum = str_replace('06', 'June', $monthnum);
	$monthnum = str_replace('07', 'July', $monthnum);
	$monthnum = str_replace('08', 'August', $monthnum);
	$monthnum = str_replace('09', 'September', $monthnum);
	$monthnum = str_replace('10', 'October', $monthnum);
	$monthnum = str_replace('11', 'November', $monthnum);
	$monthnum = str_replace('12', 'December', $monthnum);
	echo $monthnum .' '.get_query_var('year'); //月と年をスペースでつなげて表示
?>

月が1桁表記のまま文字列置換すると11月の「1月」の部分が「January」に置き換えられてしまうため、まずは2桁に変更します。

その後に数字表記を英語表記に変換して出力、という流れです。

まとめ

以上、WordPressの月別アーカイブページのタイトルの表示形式を変更する方法でした。

多言語対応サイトの場合、言語ごとに条件分岐して表示形式を切り替えることもできます。

以下のページで方法を解説しているので、よかったら見てみてください。

参考
  • 関数リファレンス/get query var – WordPress Codex 日本語版
  • WordPress Query Vars – WordPress Codex 日本語版