ワードプレスのget_day_link関数の使用方法・解説

概要

get_day_link 関数は、指定した年月日の日アーカイブのURLを取得するためのWordPressの関数です。この関数は、カスタムテーマやプラグインの開発において、特定の日付に関連する投稿のリストを表示する際によく使用されます。以下は、この関数がよく使われる場面の例です。

  1. 日付別アーカイブの日付をリンクする
  2. 日付を指定して過去の投稿を一覧表示する
  3. 日付別アーカイブのナビゲーションを構築する
  4. カレンダーウィジェットで特定の日付にリンクを追加する
  5. 特定の日付を選択してダイナミックに投稿リストを表示する
  6. 日付で絞り込まれたRSSフィードを生成する
  7. 過去のイベントやニュースのアーカイブを作成する
  8. 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>';
            }
        }
    }
}

このコードは、指定した数年にわたって、存在するすべての日付のアーカイブリンクをリスト形式で表示します。

この関数について質問する


上の計算式の答えを入力してください