概要
get_day_link
関数は、指定した年月日の日アーカイブのURLを取得するためのWordPressの関数です。この関数は、カスタムテーマやプラグインの開発において、特定の日付に関連する投稿のリストを表示する際によく使用されます。以下は、この関数がよく使われる場面の例です。
- 日付別アーカイブの日付をリンクする
- 日付を指定して過去の投稿を一覧表示する
- 日付別アーカイブのナビゲーションを構築する
- カレンダーウィジェットで特定の日付にリンクを追加する
- 特定の日付を選択してダイナミックに投稿リストを表示する
- 日付で絞り込まれたRSSフィードを生成する
- 過去のイベントやニュースのアーカイブを作成する
- SEO対策として、特定の日付に関連するコンテンツのリンクを生成する
構文
get_day_link( $year, $month, $day );
パラメータ
$year
(int): 取得したい日アーカイブの年。$month
(int): 取得したい日アーカイブの月(1から12)。$day
(int): 取得したい日アーカイブの日(1から31)。
戻り値
- (string): 指定した年月日の日アーカイブのURL。
関連する関数
使用可能なバージョン
get_day_link
関数は、WordPress 2.1.0以降で使用可能です。
コアファイルのパス
この関数は、WordPressのコアファイル wp-includes/link-template.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 |
サンプルコード
サンプルコード1: 日付別アーカイブへのリンクを生成
$day_link = get_day_link(2023, 10, 15);
echo '<a href="' . esc_url($day_link) . '">2023年10月15日のアーカイブ</a>';
このコードは、2023年10月15日のアーカイブページへのリンクを生成し、表示します。
サンプルコード2: 投稿の日付を基にリンクを表示
$posts = get_posts(array('numberposts' => 5));
foreach ($posts as $post) {
$day_link = get_day_link(get_the_date('Y', $post->ID), get_the_date('n', $post->ID), get_the_date('j', $post->ID));
echo '<a href="' . esc_url($day_link) . '">' . get_the_title($post->ID) . '</a><br>';
}
このコードは、最新の5つの投稿の日付を基に、それぞれの投稿のアーカイブリンクを表示します。
サンプルコード3: カスタムテンプレートで日付アーカイブを表示
$date = getdate();
$day_link = get_day_link($date['year'], $date['mon'], $date['mday']);
echo '<div>今日のアーカイブリンク: <a href="' . esc_url($day_link) . '">' . $date['mday'] . '日</a></div>';
このコードは、今日の日付を取得し、その日付のアーカイブへのリンクを表示します。
サンプルコード4: ウィジェットにアーカイブリンク追加
class Custom_Archive_Widget extends WP_Widget {
public function widget($args, $instance) {
$day_link = get_day_link(2023, 10, 1);
echo $args['before_widget'];
echo '<a href="' . esc_url($day_link) . '">2023年10月1日のアーカイブ</a>';
echo $args['after_widget'];
}
}
このコードは、カスタムウィジェットを作成し、特定の日付のアーカイブリンクを表示します。
サンプルコード5: リストで過去のアーカイブを表示
$years = array(2020, 2021, 2022);
foreach ($years as $year) {
for ($month = 1; $month <= 12; $month++) {
for ($day = 1; $day <= 31; $day++) {
if (checkdate($month, $day, $year)) {
$day_link = get_day_link($year, $month, $day);
echo '<a href="' . esc_url($day_link) . '">' . $year . '-' . $month . '-' . $day . '</a><br>';
}
}
}
}
このコードは、指定した数年にわたって、存在するすべての日付のアーカイブリンクをリスト形式で表示します。