Since I’ve recently been working on the site, one of the problems I’ve had and been trying to fix is the related posts appearing on the WordPress Plugins. I’ve been looking at ways to try and improve them, as this area has the highest traffic on the site, and I’m looking to try and get people to find what they are looking for easily, and not clutter up the pages. That’s why I’ve started adding documentation on a separate page, and hopefully getting people to get what they are interested in as quickly and easily as possible.
One thing I felt was cluttering up the area were the related posts section. Whilst I am a big fan of Jetpack’s Related Posts, I didn’t want them on every post, and whilst having a “you may be interested in” section may be useful, I’m not convinced it’ll be the most useful, so I’ve taken them off.
On the Customise Related Posts on Jetpack Related Posts, a Google search saw me trying to add Custom Post Types to the related posts, rather than removing the actual widget from elsewhere. Thankfully, a bit of modified code from another filter meant I fixed it.
To remove Jetpack related posts from custom post types, I use a filter, and a WordPress function.
The filter is jetpack_relatedposts_filter_options. This filter allows you to set and change the options on the fly should you wish. The second is the function is_singular. This native function of WordPress allows you to check if the current page is a single post of any post type. You can also pass the names of various post types as an attribute.
As such, I wanted to switch off related posts on all custom post types with the exception of blog posts. To do so, simply add this code:-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /** * Remove related posts from custom post types * * @link http://www.winwar.co.uk/2015/04/how-to-remove-jetpack-related-posts-from-custom-post-types/?utm_source=codesnippet * * @param array $options Jetpack related options * @return array Jetpack related options with enabled changed */ function winwar_no_related_posts( $options ) { if ( !is_singular( 'post' ) ) { $options['enabled'] = false; } return $options; } add_filter( 'jetpack_relatedposts_filter_options', 'winwar_no_related_posts' ); |
Place that code into your theme’s functions.php or in a plugin, and that should work for you.






