is_year()


WordPressのis_year()関数は、現在のページが年別アーカイブページかどうかを判定するために使用されます。

シンタックス

is_year();

概要

この関数は引数を取らず、年別アーカイブページである場合にtrueを返し、それ以外の場合はfalseを返します。

使用例

例 1: 年別アーカイブページかどうかを判定

次のコードは、現在のページが年別アーカイブページの場合にメッセージを表示します。

<?php if ( is_year() ) { echo 'これは年別アーカイブページです。'; } ?>

例 2: テンプレートで年別アーカイブページの内容を表示

年別アーカイブページに特定のコンテンツを表示する例です。

<?php
if ( is_year() ) {
    echo '<h2>年別アーカイブ</h2>';
    the_archive_title();
    the_archive_description();
}
?>

例 3: 他の条件分岐と組み合わせて使用

年別アーカイブページで、特定のカテゴリが含まれているかを判定します。

<?php
if ( is_year() && has_category( 'news' ) ) {
    echo 'この年のニュースカテゴリです。';
}
?>

例 4: メニュー項目のハイライト

ナビゲーションメニューで年別アーカイブページのリンクにクラスを追加します。

<?php
if ( is_year() ) {
    echo '<li class="current-menu-item"><a href="#">年別アーカイブ</a></li>';
} else {
    echo '<li><a href="#">年別アーカイブ</a></li>';
}
?>

例 5: カスタムウィジェット表示の条件

ウィジェットエリアを年別アーカイブページにのみ表示します。

<?php
if ( is_year() && is_active_sidebar( 'custom-widget-area' ) ) {
    dynamic_sidebar( 'custom-widget-area' );
}
?>

注意事項

  • is_year()は、WP_Queryオブジェクトで生成されたクエリが年別アーカイブである場合にのみtrueを返します。
  • この関数を正しく動作させるには、WordPressループの前後で使用する必要があります。

関連機能: