Using WordPress ‘get_month_link()’ PHP function

The get_month_link() WordPress PHP function retrieves the permalink for the month archives with year.

Usage

get_month_link($year, $month);

Parameters

  • $year (int|false) – Integer of the year, or false for the current year.
  • $month (int|false) – Integer of the month, or false for the current month.

More information

See WordPress Developer Resources: get_month_link

Examples

// Display the link to the current month's archive
echo '<a href="' . get_month_link(false, false) . '">All posts this month</a>';
// Assign the archive link for October 2004 to the variable $oct_04
$oct_04 = get_month_link(2004, 10);
// Within The Loop, assign the year and month of the current post
$archive_year = get_the_time('Y');
$archive_month = get_the_time('m');

// Display the link to the archive for the post's month and year
echo '<a href="' . get_month_link($archive_year, $archive_month) . '">Archive for ' . get_the_time('F Y') . '</a>';
// Get the current month and year
$current_year = date('Y');
$current_month = date('m');

// Calculate the previous month and year
$previous_month = $current_month - 1;
$previous_year = $current_year;
if ($previous_month == 0) {
  $previous_month = 12;
  $previous_year--;
}

// Display the link to the previous month's archive
echo '<a href="' . get_month_link($previous_year, $previous_month) . '">Posts from the previous month</a>';
// Get the current month and year
$current_year = date('Y');
$current_month = date('m');

// Loop through the past six months
for ($i = 1; $i <= 6; $i++) {
  // Calculate the month and year
  $month = $current_month - $i;
  $year = $current_year;
  while ($month <= 0) {
    $month += 12;
    $year--;
  }

  // Display the link to the archive for the month and year
  echo '<a href="' . get_month_link($year, $month) . '">Archive for ' . date('F Y', strtotime("$year-$month-01")) . '</a><br>';
}