概要
is_date
関数は、WordPress のテンプレートタグの一つで、現在のクエリが日付アーカイブページであるかどうかを判定する際に使用されます。具体的には、ブログのアーカイブとして日付ごとに分類されたエントリーリストが表示されている時に有効です。以下のような機能を実装する際に利便性があります。
- 日付別アーカイブページのデザイン調整
- 日付に関連する情報の表示
- 特定の日付アーカイブ時のカスタムメッセージ表示
- 過去の日付をベースにした投稿一覧表示
- フィルタリングによるコンテンツの絞り込み
- クエリの条件による異なる表示処理
- 日付に基づくサイドバーやウィジェットの制御
- SEO対策としてのメタタグやページタイトルの変更
構文
is_date();
パラメータ
この関数にはパラメータはありません。
戻り値
true
:現在のクエリが日付アーカイブである場合false
:それ以外の場合
関連する関数
使用可能バージョン
is_date
は、WordPress 2.0 以降で使用できます。
WordPress コアファイルのパス
is_date
関数は、wp-includes/query.php
ファイルに含まれています。
サンプルコード
サンプル1: 日付アーカイブページのカスタムメッセージ表示
if ( is_date() ) {
echo '<h1>' . get_the_date() . 'のアーカイブ</h1>';
}
このコードは、日付アーカイブページで現在の日付をタイトルとして表示します。
サンプル2: 日付アーカイブ用の特定なスタイル適用
if ( is_date() ) {
echo '<div class="date-archive">';
// アーカイブコンテンツを表示
echo '</div>';
}
このコードは、日付アーカイブページに特定のスタイルを適用します。
サンプル3: 日付アーカイブにおける過去の投稿リスト表示
if ( is_date() ) {
$args = array(
'date_query' => array(
array(
'year' => get_query_var('year'),
'month' => get_query_var('monthnum'),
'day' => get_query_var('day'),
),
),
);
$query = new WP_Query( $args );
}
このコードは、特定の日付に関連する投稿を取得するためのクエリを作成します。
サンプル4: 日付アーカイブのナビゲーション表示
if ( is_date() ) {
echo get_previous_posts_link('前のアーカイブ');
echo get_next_posts_link('次のアーカイブ');
}
このコードは、日付アーカイブページに前後のアーカイブへのリンクを表示します。
サンプル5: 日付に基づくフィルタリング機能の実装
if ( is_date() ) {
add_filter('pre_get_posts', function ($query) {
if ($query->is_main_query() && $query->is_date()) {
// 特定の条件で投稿をフィルタリング
}
});
}
このコードは、日付アーカイブページのメインクエリにカスタムフィルタを適用します。
この関数のアクションでの使用可能性
アクション | 使用可能 |
---|---|
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 |
追加情報
特定のワードプレスバージョンで非推奨または削除された情報はありません。