Breadcrumb NavXT Polylang Extensions 1.0.0

Introducing Breadcrumb NavXT Polylang Extensions. This plugin improves Breadcrumb NavXT’s support for Polylang, at plugin that facilities multi-lingual content on WordPress based sites.

While Breadcrumb NavXT mostly works with Polylang, the deficiencies outlined in Breadcrumb NavXT and WPML Compatibility apply to compatibility with Polylang as well. With Breadcrumb NavXT Polylang Extensions, string based settings within Breadcrumb NavXT and Custom Post Type root pages are translatable within Polylang.

Features

  • Automatically links to the correct Custom Post Type “root page” for the current language
  • Makes Breadcrumb NavXT settings that are strings available for translation via Polylang
  • Improves Breadcrumb NavXT widget’s Polylang compatibility

-John Havlik

[end of transmission, stay tuned]

How to Remove post_type From Breadcrumb NavXT URLs

Beginning with Breadcrumb NavXT 5.3.0, post type archive support was enhanced with the addition of the post_type query argument under various circumstances. Usually, this occurs when the post type is not the primary post type for the taxonomy (e.g. it is not the first post type in the object_type array for the taxonomy), or for date archives. While this is arguably the correct behavior, it is not right for every circumstance.

Breadcrumb NavXT 5.4.0 introduces a new filter, bcn_add_post_type_arg, which furnishes the ability to override the decision on when to include the post_type query argument. This article covers the basic usage of this filter, along with some hints for more advanced uses.

Basic Code

The most basic code, listed below, disables adding the post_type query argument for all resources.

add_filter('bcn_add_post_type_arg', 'my_add_post_type_arg_filt', 10, 3);
function my_add_post_type_arg_filt($add_query_arg, $type, $taxonomy)
{
return false;
}

To get started quickly, just copy and paste the above code into a site specific plugin and start playing.

Hints for (More) Advanced Uses

From the basic code above, notice that there are three parameters passed into the filter. The first is the decision Breadcrumb NavXT was going to make in regards to adding the post_type query argument. The second is the name of the post type that is under consideration for addition to the URL. Lastly, the third parameter is the name of the taxonomy, if applicable, for the archive the URL points to. With this information, more complex filtering/decision making can be achieved.

For example, it is possible to enable the post_type query argument for only specific post types, or for specific taxonomy archives. Or, the post_type query argument can be enabled for all but a specific post type or taxonomy. All it takes is a little conditional logic that looks at the second and third parameters of the filter function.

-John Havlik

[end of transmission, stay tuned]