Blocks - Breadcrumbs
This documentation provides information about the breadcrumb block that Yoast SEO provides.
Filters
Changing the output
The wpseo_breadcrumb_output
filter takes the output of the breadcrumb. Make sure not to empty the output, just replace
or add data. An example:
add_filter( 'wpseo_breadcrumb_output', 'override_home_icon' );
/**
* Replace the home text with an icon.
*
* @param string $original_breadcrumbs The whole breadcrumbs HTML.
* @return string
*/
function override_home_icon( string $original_breadcrumbs ): string {
$new_home = \str_replace( '>Home<', ' aria-label="Home"><i class="fa fa-homeicon" aria-hidden="true"></i><', $original_breadcrumbs );
return $new_home;
}
Changing a single link
The wpseo_breadcrumb_single_link
allows changing of each link being put out by the Yoast SEO breadcrumbs class. It
takes in the generated link and the source breadcrumb information. An example:
add_filter( 'wpseo_breadcrumb_single_link', 'remove_current_page' );
/**
* Remove current page from breadcrumbs.
*
* @param string $link The output string.
* @param array $breadcrumb The breadcrumb link array.
*/
function remove_current_page( $link ): string {
if ( strpos( $link, 'breadcrumb_last' ) !== false ) {
$link = '';
}
return $link;
}
Changing the HTML ID
The wpseo_breadcrumb_output_id
allows changing the HTML ID on the Yoast SEO breadcrumbs wrapper element. It only called when there it no an ID already present. An example:
add_filter( 'wpseo_breadcrumb_output_id', 'add_breadcrumb_id' );
/**
* Allow changing the HTML ID on the Yoast SEO breadcrumbs wrapper element.
*
* @param string $id ID to add to the wrapper element.
*/
function add_breadcrumb_id( $id ): string {
return 'my-id';
}
Changing the HTML class
The wpseo_breadcrumb_output_class
allows changing the HTML class on the Yoast SEO breadcrumbs wrapper element. It is only called when there is no class already present. An example:
add_filter( 'wpseo_breadcrumb_output_class', 'add_breadcrumb_class' );
/**
* Allow changing the HTML class on the Yoast SEO breadcrumbs wrapper element.
*
* @param string $class class to add to the wrapper element.
*/
function add_breadcrumb_class( $class ): string {
return 'my-class my-other-class';
}
Changing the output wrapper element
The wpseo_breadcrumb_output_wrapper
allows changing the Yoast SEO breadcrumbs wrapper element. It is called with a default span
value. The output should be an valid HTML element. An example:
add_filter( 'wpseo_breadcrumb_output_wrapper', 'replace_breadcrumb_wrapper' );
/**
* Replace the wrapper around the breadcrumbs
*
* @param string $output What it normally outputs.
* @return string
*/
function replace_breadcrumb_wrapper( string $output ): string {
$output = 'ol';
return $output;
}
Changing the link wrapper
The wpseo_breadcrumb_single_link_wrapper
allows changing the Yoast SEO link wrapper element. It is called with a default span
value. The output should be an valid HTML element. An example:
add_filter( 'wpseo_breadcrumb_single_link_wrapper', 'replace_link_wrapper' );
/**
* Replace the wrappers around the links.
*
* @param string $output What it normally outputs.
* @return string
*/
function replace_link_wrapper( string $output ): string {
$output = 'li';
return $output;
}
Changing the separator
The wpseo_breadcrumb_separator
allows changing the Yoast SEO seperator. It only called with a default value taken from the Yoast SEO settings. The output should be valid HTML. An example to completely remove the separator:
add_filter( 'wpseo_breadcrumb_separator', 'replace_breadcrumb_separator' );
/**
* Replace the breadcrumbs separators.
*
* @param string $output What it normally outputs.
* @return string
*/
function replace_breadcrumb_separator( string $output ): string {
$output = '';
return $output;
}
Schema output
The Yoast SEO breadcrumb block output a breadcrumb schema piece which is documented in Schema piece - Breadcrumb