single_month_title()
は、指定された月アーカイブページのタイトルを取得または表示するためのテンプレートタグです。
アーカイブページで、その月に公開された投稿を表示する際に役立ちます。
機能の説明
single_month_title()
は、現在の月アーカイブの月名と年を取得し、月アーカイブの見出しやタイトルを表示します。
例えば、「October 2024」や「2024年10月」のような形式で月の情報を表示できます。
引数を指定することで、エコー(出力)するか、値を取得するかを選択できます。
シンプルなコード例
single_month_title();
現在の月アーカイブのタイトルをそのまま表示します(例:October 2024
)。
使い方の解説
single_month_title($prefix, $display)
引数
$prefix
: タイトルの前に付ける文字列(デフォルトは空)。$display
:true
ならエコー(出力)、false
なら文字列として取得。
月アーカイブのタイトルをそのまま表示
single_month_title();
月アーカイブページで「October 2024」などのタイトルを表示します。
月アーカイブのタイトルを取得して変数に格納
$month_title = single_month_title('', false);
echo '<h1>' . $month_title . '</h1>';
月のタイトルを取得し、<h1>
タグで囲んで表示します。
タイトルにプレフィックスを追加して表示
single_month_title('アーカイブ: ');
「アーカイブ: October 2024」という形式でタイトルを表示します。
一緒に使うことが多い関連タグ
get_the_date()
get_the_date()
は、個々の投稿の公開日を取得するテンプレートタグです。
echo get_the_date( 'F Y' );
このコードは、get_the_date()
タグを使い、「October 2023」のように月と年を表示します。フォーマットは自由にカスタマイズ可能で、single_month_title()
と似た動作をしますが、より細かい日付指定が可能です。
single_month_title()
と組み合わせることで、月アーカイブ内の各投稿の日付を表示できます。
if (have_posts()) {
while (have_posts()) {
the_post();
echo '<h2>' . get_the_title() . '</h2>';
echo '<p>公開日: ' . get_the_date('Y年m月d日') . '</p>';
}
}
月アーカイブ内の各投稿のタイトルと公開日を表示するループです。
the_time()
the_time()
は、投稿の日付や時刻をフォーマットに従って表示します。アーカイブページ内でその投稿がいつ公開されたかを表示する場合に使われます。
echo the_time('F j, Y');
このコードは、the_time()
を使って「October 10, 2023」のように日付を表示します。年月日を細かく表示するのに便利です。
get_the_time()
get_the_time()
は、特定の投稿の時刻情報を取得します。日付だけでなく時間も表示したい場合に使用できます。
echo get_the_time( 'g:i a' );
出力できる情報
- F:完全な月名(例:October)
- j:日(1から31までの数値)
- Y:4桁の年(例:2023)
- ga:12時間制での時刻(例:3:45 pm)
the_archive_title()
the_archive_title()
は、アーカイブページ全体のタイトル(カテゴリ、月など)を表示します。single_month_title()
と同じく月アーカイブのタイトルを表示する場面で使われますが、汎用性が高いです。
the_archive_title('<h1>', '</h1>');
月アーカイブのタイトルを <h1>
タグで囲んで表示します。
if (is_month()) {
echo '<h1>';
single_month_title('アーカイブ: ');
echo '</h1>';
}
if (have_posts()) {
while (have_posts()) {
the_post();
echo '<h2>' . get_the_title() . '</h2>';
echo '<p>' . get_the_date('Y年m月d日') . '</p>';
}
}
月アーカイブページで、月タイトルを表示し、その月に公開された各投稿のタイトルと日付を表示する例です。
追加情報を取得したい場合
get_the_archive_description()
でアーカイブの説明を取得
アーカイブページに設定されている説明文を取得するタグです。
echo '<div class="archive-description">';
echo get_the_archive_description();
echo '</div>';
アーカイブページに設定された説明文を <div>
タグで囲んで表示します。
出力できる情報
- description:アーカイブの説明文
- term_name:アーカイブのカテゴリや月名
想定されるトラブル
月アーカイブページでタイトルが表示されない
single_month_title()
がループ外で使用されている可能性があります。
解決方法
- テンプレートが正しく設定されているか確認してください。
is_month()
で条件を確認し、アーカイブページかどうかを判定します。
日本語形式の日付が表示されない
フォーマットが正しく設定されていない可能性があります。
解決方法
single_month_title()
の引数に日本語のプレフィックスを設定します。
日付のフォーマットが異なる
テーマやプラグインが日付フォーマットを変更している可能性があります。
解決方法
get_the_date()
や the_time()
を使ってカスタムフォーマットを指定することで解決できます。
Q&A
まとめ
single_month_title()
は、月アーカイブページのタイトルを表示するための便利なテンプレートタグです。
引数でプレフィックスを指定したり、取得するだけにするなどの使い方ができます。
また、get_the_date()
や the_archive_title()
と組み合わせることで、柔軟なアーカイブページの作成が可能です。
アーカイブページに関連する情報をさらに取得する場合は、get_the_archive_description()
などの関連タグも活用できます。
コメント