Related Posts by Taxonomy

Description

Quickly increase your readers’ engagement by adding related posts in the sidebar or after post content with a widget or shortcode.

Posts with the most terms in common will display at the top!

This plugin is capable of finding related posts in multiple taxonomies and post types. Include or exclude terms from the search for related posts. Change the look and feel by using your own templates in a (child) theme.

plugin documentation

Plugin features:

  • Widget and Shortcode.
  • Display related posts as post thumbnails, links, excerpts or full posts.
  • Small Footprint. Doesn’t slow down your site!
  • Automatic display of related posts after the post content.
  • Exclude or include terms and posts.
  • Search for related posts in single or multiple taxonomies and post types.
  • Limit the search for related posts by date, number or post meta.
  • Use your own HTML templates for display of the related posts.
  • Extensive plugin documentation.
  • Follows WordPress coding standards and plugin best practices.
  • Highly Adjustable!

For the following features you need to be somewhat familiar with WordPress hooks. The plugin documentation has many examples to help you along.

Extended features:

  • Use a persistent cache for the related posts query. (opt-in feature)
  • Use the WordPress REST API to get related posts. (opt-in feature)
  • Load related posts after the whole page has loaded (with Ajax). (opt-in feature)
  • Use plugin functions in your theme templates to display related posts yourself.
  • Use Filters to change the default behavior of the plugin.

Follow this plugin on GitHub.
Search the code reference

See the FAQ to have related posts automatically display after the post content without using the shortcode or widget.

Default usage for the shortcode is:

[related_posts_by_tax]

Attributes for the shortcode are:

  • post_id
  • taxonomies
  • post_types
  • posts_per_page
  • order
  • orderby
  • before_shortcode
  • after_shortcode
  • title
  • show_date
  • before_title
  • after_title
  • include_terms
  • include_parents
  • include_children
  • exclude_terms
  • exclude_posts
  • format
  • gallery_format
  • image_size
  • columns
  • caption
  • link_caption
  • limit_posts
  • limit_month
  • meta_key
  • meta_value
  • meta_compare
  • meta_type
  • public_only
  • include_self
  • post_class

Example to show 10 related posts instead of the default 5.

[related_posts_by_tax posts_per_page="10"]

See the documentation for more information about these attributes.

Translations

Screenshots

  • The Widget
  • Twenty Fifteen screenshot. Related posts in the sidebar and after post content
  • Twenty Twelve screenshot. Post thumbnails (after post content) and the widget
  • Twenty Thirteen screenshot. Post thumbnails (after post content) and the widget

Installation

  • Unzip the related-posts-by-taxonomy.zip folder.
  • Upload the related-posts-by-taxonomy folder to your /wp-content/plugins directory.
  • Activate Related Posts by Taxonomy.
  • That’s it, now you are ready to use the widget and shortcode

FAQ

For more information about the plugin see the plugin documentation.
To customize this plugin see the plugin recipes page.

Can I change the layout for the related posts?

Yes. Review this section of the documentation to style the related posts yourself.

How can I automatically add related posts after the post content?

Review Adding Related Posts After the Post Content.

Can I include or exclude posts or terms with the widget or shortcode

Yes. For the widget see this filter and for the shortcode see the attributes include_terms, exclude-terms and exclude_posts.

Can I set my own defaults for the shortcode?

Yes. Review Setting your own defaults for the shortcode

The widget only lets you choose “all taxonomies” or a single taxonomy. Can I make it use multiple specific taxonomies?

Yes. See this filter on how to do that.

Is this plugin GDPR compliant?

  • This plugin doesn’t process, share, send or retain any user data.
  • This plugin doesn’t track (user) data for analytics (or for any other reason).
  • This plugin doesn’t save or read cookies.
  • This plugin doesn’t use 3rd party libraries.

Read this article why plugin authors cannot guarantee 100% compliance.

Please contact a GDPR consultant or law firm with this information to assess if this plugin is compliant.

Reviews

September 1, 2023
After having repeatedly tried and dumped a heap of plugins that didn't quite do what they should—or needed convoluted work in order to do so—, what a relief it is to finally installing this plugin! I was wondering why I had chosen this one for a previous website I put together a while ago, and now I understand.
March 3, 2022
I love that this plugin does exactly what I need it to do, the attributes are easily edited and you're really thought of anything I would want to specify. I really like that it's so lightweight and simple, I had given up on using these plugins a few years back because of the load on larger sites. I hope it gets updated if there are any issues with new versions of wp, but for me, it's working great with 5.9.1 (classic admin) Thank you!
April 20, 2021
This is one of the best related post plugins I have on my Wordpress site. it is fast in loading and highly customizable. I found this as the best alternative to the heavy jetpack related post that lacks many features; one which is to lazyload related post images, and it can make use of your already cropped images (300 x 250) instead of using the full-sized images.
December 2, 2020
Pro: shows thumbnails of several post types depending on tags. Not much plugins do this. 🙂 Con: now and then I get double results in the related posts. 🙁 Quite above average.
Read all 75 reviews

Contributors & Developers

“Related Posts by Taxonomy” is open source software. The following people have contributed to this plugin.

Contributors

“Related Posts by Taxonomy” has been translated into 7 locales. Thank you to the translators for their contributions.

Translate “Related Posts by Taxonomy” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Change log

2.7.5

  • Enhancement
    • Fix PHP 8 and up deprecated notices

2.7.4

  • Enhancement
    • Update the block gallery with the HTML changes made in WordPress 5.4 (again!).
    • Use post title for aria-label only
    • Display cache log in footer (because admin_bar_menu hook changed to wp_body_open)
    • Getting ready for WP 5.5 (updating deprecated functions)

2.7.3

  • Enhancement
    • Make the no posts found message filterable.
    • Update gallery with the HTML changes made in the WordPress 5.3 gallery.
    • Add accessibility to the gallery item element.
  • Deprecated
    • The ‘terms’ and ‘related’ arguments are deprecated in favor of the ‘include_terms’ argument.
      • The ‘include_terms’ argument now uses the included terms without any restrictions.
      • The default value for the ‘related’ argument changed from boolean true to null.
      • Set the ‘related’ argument to boolean true to have the old restrictions back.

2.7.2

  • Bug Fixes
    • Fix for gallery image (fallback) filter not being reached.
    • Sanitize Rest API rendered HTML with wp_kses_post().

2.7.1

  • Enhancement
    • New format for related galleries similar to the Gutenberg gallery block.
    • Include child or parent terms for the related posts query.
    • Filters for Widget defaults and instance.
  • Bug Fixes
    • (minor) Don’t default to all public taxonomies if no valid taxonomies are used.

2.6.0

  • Enhancement
    • Meta query
      • Allows you to query related posts with post meta
      • Use meta arguments in the shortcode
      • Use a filter for the widget or for complex meta queries
    • ID query
      • Allow queries for post IDs only. (for the related posts in the widget and shortcode templates)
      • Speeds up the related posts query. (not activated by default because of back compatibility)
      • Please read the documentation about query optimization before using this feature
    • Lazy loading (opt in feature).
      • Speeds up perceived page load time for very large sites
      • Does the query for related posts (with Ajax) after the page is loaded
      • Recommended for related posts below the fold.
    • Detect post type Page taxonomies
    • Preparing the plugin for the (Gutenberg) editor block feature

2.5.1

  • Enhancement
    • Add ability to show the post date after the post title
    • Allow getting post fields from the cache
    • Add new filter to filter all related post permalinks
    • Add new tests for the post type feature (GitHub)
  • Bug fixes
    • (minor) Add post classes after retrieving posts from the cache
    • (minor) Return an error if invalid taxonomies or post types was requested with the WP Rest API

2.5.0

  • Enhancement
    • Prepare plugin for gutenberg blocks
    • Add ‘terms’ parameter for shortcode and widget
    • Add GDPR information to readme.txt
    • deprecate functions (with back compatibility)
      • km_rpbt_related_posts_by_taxonomy()
      • km_rpbt_get_default_args()
      • km_rpbt_related_posts_by_taxonomy_validate_ids()
      • km_rpbt_related_posts_by_taxonomy_template()
      • km_rpbt_post_title_link()
      • km_rpbt_get_related_post_title_link()
      • km_rpbt_related_posts_by_taxonomy_widget()
  • Bug fixes
    • (minor) Add missing filter pre_related_posts before cache queries
    • (minor) Add missing properties to related posts returned by the cache

For older changelog versions see the changelog.txt file