Breadcrumbs
Last updated 2 years ago
Start with Yoast SEO Breadcrumbs, but fallback to Jetpack.
PHP
if ( function_exists( 'yoast_breadcrumb' ) ) {
// WordPress SEO Breadcrumb.
yoast_breadcrumb( '<p id="breadcrumbs" class="breadcrumbs" aria-label="breadcrumb">', '</p>' );
} elseif ( function_exists( 'jetpack_breadcrumbs' ) ) {
// Jetpack Breadcrumbs.
jetpack_breadcrumbs();
}
WooCommerce: Rename Home:
PHP
/**
* Rename "home" in breadcrumb
*/
function hlabs_change_breadcrumb_home_text( $defaults ) {
// Change the breadcrumb home text from 'Home' to 'Apartment'.
$defaults['home'] = 'Apartment';
return $defaults;
}
add_filter( 'woocommerce_breadcrumb_defaults', 'hlabs_change_breadcrumb_home_text' );
PHP
/**
* Change the breadcrumb separator
*/
add_filter( 'woocommerce_breadcrumb_defaults', 'wcc_change_breadcrumb_delimiter' );
function wcc_change_breadcrumb_delimiter( $defaults ) {
// Change the breadcrumb delimeter from '/' to '>'
$defaults['delimiter'] = ' > ';
return $defaults;
}
PHP
/**
* Change several of the breadcrumb defaults
*/
add_filter( 'woocommerce_breadcrumb_defaults', 'jk_woocommerce_breadcrumbs' );
function jk_woocommerce_breadcrumbs() {
return array(
'delimiter' => ' / ',
'wrap_before' => '<nav class="woocommerce-breadcrumb" itemprop="breadcrumb">',
'wrap_after' => '</nav>',
'before' => '',
'after' => '',
'home' => _x( 'Home', 'breadcrumb', 'woocommerce' ),
);
}
PHP
/**
* Replace the home link URL
*/
add_filter( 'woocommerce_breadcrumb_home_url', 'woo_custom_breadrumb_home_url' );
function woo_custom_breadrumb_home_url() {
return 'http://woocommerce.com';
}
PHP
/**
* Remove the breadcrumbs
*/
add_action( 'init', 'woo_remove_wc_breadcrumbs' );
function woo_remove_wc_breadcrumbs() {
remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 );
}
All code snippets are licensed GPLv2 or later unless otherwise stated.