概要
is_year
関数は、現在のクエリが年別アーカイブページかどうかを調べるための関数です。この関数は、特定の年に関連する投稿が表示されている際に、条件分岐を行うためによく利用されます。以下の状況で使われることが多いです。
- 年別アーカイブの内容を表示するための条件設定
- 特定年の投稿のスタイルを変更するため
- 年間レポートや統計を表示するための条件判定
- 年ごとの特定の情報をカスタマイズする際
- カテゴリーやタグページでの年別フィルタリングの実装
- ウェブサイトのサイドバーで年別アーカイブを生成する際
- クエリに基づいて年別に異なるテンプレートを読み込むため
- 404エラーをカスタマイズした年別アーカイブ処理
構文
is_year();
パラメータ
この関数にはパラメータはありません。
戻り値
is_year
関数は、現在のクエリが年別アーカイブページである場合は true
を、そうでない場合は false
を返します。
関連する関数
is_year
関数に関連する関数は次の通りです:
– is_month
– is_date
– is_archive
– get_query_var
使用可能なバージョン
is_year
関数は、WordPress 1.5 以降のバージョンで使用可能です。
コアファイルのパス
is_year
関数は、WordPress のコアファイル /wp-includes/query.php
に含まれています。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 | 〇 |
is_year
関数は、特定の WordPress バージョンで非推奨または削除されたことはありません。
サンプルコード
サンプル1: 年別アーカイブの表示
このサンプルコードは、年別アーカイブページでのみ特定のメッセージを表示します。
if (is_year()) {
echo '<h2>' . get_the_archive_title() . '</h2>';
}
サンプル2: 年別アーカイブ用のスタイル設定
このサンプルでは、年別アーカイブページのスタイルを変更します。
if (is_year()) {
echo '<style>h1.archive-title { color: blue; }</style>';
}
サンプル3: 年別投稿取得
このコードは、特定の年の投稿を取得し、リスト表示します。
if (is_year()) {
$year = get_query_var('year');
$posts = get_posts(array('year' => $year));
foreach ($posts as $post) {
setup_postdata($post);
echo '<li>' . get_the_title() . '</li>';
}
wp_reset_postdata();
}
サンプル4: ダイナミックなタイトル設定
年別アーカイブページのタイトルを動的に設定するサンプルコードです。
if (is_year()) {
add_filter('wp_title', function($title) {
return 'Year Archive - ' . get_query_var('year');
});
}
サンプル5: 年別アーカイブ用の404カスタマイズ
年別アーカイブページが404エラーの場合のカスタマイズです。
if (is_year() && !have_posts()) {
status_header(404);
nocache_headers();
include(get_404_template());
exit;
}
引用元はありませんが、これらのサンプルコードはすべて著作権フリーです。