Showing Private Posts in the Breadcrumb Trail

In Breadcrumb NavXT 6.4.0 the default behavior of Breadcrumb NavXT was changed to automatically exclude private posts from the breadcrumb trail. As part of this change, a new filter bcn_show_post_private was introduced to allow control over what private posts are included in the breadcrumb trail.

Basic Usage – Including All Private Posts

The following code, when placed in a site specific plugin, will enable display of all private posts in the breadcrumb trail.

add_filter('bcn_show_post_private', 'my_bcn_show_post_private', 10, 2);
function my_bcn_show_post_private($show, $ID)
{
	return true;
}

Something More Advanced

Rather than display all private posts in the breadcrumb trail, prehaps it is appropriate to show private posts of a specific post type. For example, the below will include private posts of the type forum (e.g. from bbPress) in the breadcrumb trail, while private posts from other post types will remain excluded.

add_filter('bcn_show_post_private', 'my_bcn_show_post_private', 10, 2);
function my_bcn_show_post_private($show, $ID)
{
	$post = get_post($ID);
	if($post instanceof WP_Post and $post->post_type === 'forum')
	{
		$show = true;
	}
	return $show;
}

This is not the only way private posts can be selectively included. Some other possibilities include checking if the user is logged in, checking if the user has specific permissions, or specifically include posts based on the post ID.

-John Havlik

Leave a Reply

Your email address will not be published. Required fields are marked *