Description
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
Installation
- Unzip the archive and put the folder into your plugins folder (/wp-content/plugins/).
- Activate the plugin from the Plugins admin menu.
Basic usage
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(`
Referrer link
If you also want to display a link back to the list of posts, add this line (also in single.php):
<?php referrer_link(); ?>
Posts with multiple categories
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.
FAQ
- “Parse error: syntax error, unexpected…” Help!
-
Make sure your host is running PHP 5. Add this line to wp-config.php to check:
var_dump(PHP_VERSION);
Reviews
Contributors & Developers
“Smarter Navigation” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Smarter Navigation” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.4
- added support for custom taxonomies. props badfeather
- fixed strict standards errors. props badfeather
1.3.2
- fix case when plugin worked incorrect with pagination
1.3.1
- fix case when multiple browser tabs are involved
- fix case when multiple posts have the exact same date
1.3
- store query vars in cookie instead of individual post ids
- fix referer link
- more info
1.2.1
- enable $in_same_cat by default
1.2
- moved to PHP5 syntax
- added get_referrer_category() and get_referrer_url() template tags
- added $in_same_cat and $excluded_categories arguments to previous_post_smart() & next_post_smart()
- more info
1.1.2
- added $fallback parameter to *_post_smart()
1.1.1
- better SQL limit
1.1
- handles posts split on multiple pages
- better behaviour when multiple tabs open
- more info
1.0
- initial release
- more info