Generates more specific previous / next post links based on referrer.
When displaying a single post, you might want to show links to the previous and next posts in the same category.
That’s fine; WordPress let’s you do this with previous_post_link()
and next_post_link()
.
But what if that post is in multiple categories?
What if the user came to that post from a tag page or from an author page? Wouldn’t it make more sense to display previous / next posts from that particular set?
Well, you can do this with a similar pair of functions, provided by this plugin: previous_post_smart()
and next_post_smart()
.
Here’s how it works:
Whenever a visitor goes to an archive page (category, tag, date, author, search etc.), the plugin notes which archive it is in a browser cookie.
Then, if the visitor goes to a single post from that archive page, the plugin generates the prev / next links based on the information in the cookie.
Links: Plugin News | Author’s Site
Go to your theme directory and open single.php.
Replace
previous_post_link( with `previous_post_smart(`
and
next_post_link( with `next_post_smart(`
If you also want to display a link back to the list of posts, add this line (also in single.php):
<?php referrer_link(); ?>
If you want for example to higlight the category that the user came from, you can use get_referrer_category()
to retrieve the category object.
For further reference, all the template tags are located in smarter-navigation/template-tags.php.
Make sure your host is running PHP 5. Add this line to wp-config.php to check:
var_dump(PHP_VERSION);