Opens in a new tab
15th Feb '24
/
0 comments

Filtering Breadcrumbs in Bricks

In the Bricks Facebook group a user asks:

Hi! Is there a PHP filter to customize the Bricks breadcrumbs? I want to replace /Uncategorized/ with a link to another page (not an archive).

Bricks has a bricks/breadcrumbs/items filter (undocumented as of today) that can be used to modify the breadcrumbs’ output programmatically.

For example,

add_filter( 'bricks/breadcrumbs/items', function ( array $breadcrumb_items ): array {
  if ( ! is_singular( 'post' ) ) {
    return $breadcrumb_items;
  }

  if ( isset( $breadcrumb_items[1] ) ) {
    $breadcrumb_items[1] = str_replace( 'category/uncategorized/', '', $breadcrumb_items[1] );
  }
  
  return $breadcrumb_items;
});

will replace all instances of category/uncategorized/ in the breadcrumbs on single posts in the front end with an empty string thereby effectively linking Uncategorized to the site’s homepage.

If you are using the BricksExtras’ Site Breadcrumbs element instead (you should, because it has more configurable options) just change the filter name to bricksextras/breadcrumbs/.

add_filter( 'bricksextras/breadcrumbs/', function ( array $breadcrumbsFlat ): array {
  if ( ! is_singular( 'post' ) ) {
    return $breadcrumbsFlat;
  }

  if ( isset( $breadcrumbsFlat[1] ) ) {
    $breadcrumbsFlat[1] = str_replace( 'category/uncategorized/', '', $breadcrumbsFlat[1] );
  }
  
  return $breadcrumbsFlat;
});
Get access to all 633 Bricks code tutorials with BricksLabs Pro

Leave the first comment

 

Related Tutorials..

Pro
Limit the Number of Posts in a Bricks Query Loop of Relationship Type

Limit the Number of Posts in a Bricks Query Loop of Relationship Type

Updated on 12 Dec 2023 Bricks Query Loop popup does not have a control for setting the number of posts to be output when the…
Pro
How to add a Class to all Images in Bricks Galleries

How to add a Class to all Images in Bricks Galleries

Learn how to add a custom class to all the images rendered by Bricks' Gallery elements so these images can be excluded from Perfmatters' Lazy…
Modifying ACF Field Value Before It Is Output

Modifying ACF Field Value Before It Is Output

Consider the scenario where a Page has a "Page Fields" field group created with ACF Pro like this: Field name: scientific_coordinators (type Repeater)|__ Sub field…
Categories:
How to create filters with IsotopeJS in Bricks (Part 1)

How to create filters with IsotopeJS in Bricks (Part 1)

This tutorial series will explore the IsotopeJS library's features inside the Bricks ecosystem.
Categories: