# The previous/next day links are in.
It took a bit of fiddling (I'm sure there's probably an easier way to achieve it) but I got there after a bit of trial and error - mostly error 😉
is_day() function returns true if you are on an archive page showing posts for a day. This makes it nice and easy to isolate day views.
I needed to get the date for the day being viewed, so I could build the links for date +/-1, and pulled this from the WordPress query:
$year = get_query_var('year'); $monthnum = get_query_var('monthnum'); $day = get_query_var('day');
This was combined into a single string which was then converted to a date:
$archive_str = $year . '/' . $monthnum . '/' . $day; $archive_date = strtotime($archive_str);
strtotime() function is really handy and lets you do relative calculations; getting +/-1 day is simple and these new dates were formatted according to the WordPress archive URL structure making it easy to build the links:
$previous = strtotime('-1 day', $archive_date); $next = strtotime('+1 day', $archive_date); $previous = date('Y/m/d', $previous); $next = date('Y/m/d', $next);
The Today page is, obviously, a little different in that it is not an archive. What I've done here is create one link for 'yesterday' calculated from whatever the day 'today' happens to be:
$today = time(); $yesterday = strtotime('-1 day', $today); $yesterday = date('Y/m/d', $yesterday);
I have a check elsewhere that sets a variable based on whether there are any posts for 'today' so repurpose this to only show the 'yesterday' link if that is true.