Skip to Content
Frontlane Studio
All Snippets
PHP WordPress September 13, 2022

Breadcrumbs

Start with Yoast SEO Breadcrumbs, but fallback to Jetpack.

WordPress PHP

Start with Yoast SEO Breadcrumbs, but fallback to Jetpack.

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();

}
if ( function_exists( 'yoast_breadcrumb' ) ) {

	// WordPress SEO Breadcrumb.
	yoast_breadcrumb( '', '' );

} elseif ( function_exists( 'jetpack_breadcrumbs' ) ) {

	// Jetpack Breadcrumbs.
	jetpack_breadcrumbs();

}

WooCommerce: Rename Home:

/**
 * Rename "home" in breadcrumb
 */
function flstudio_change_breadcrumb_home_text( $defaults ) {
    // Change the breadcrumb home text from 'Home' to 'Apartment'.
    $defaults['home'] = 'Apartment';
    return $defaults;
}
add_filter( 'woocommerce_breadcrumb_defaults', 'flstudio_change_breadcrumb_home_text' );

/**
 * 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'] = ' &gt; ';
	return $defaults;
}

/**
 * Change several of the breadcrumb defaults
 */
add_filter( 'woocommerce_breadcrumb_defaults', 'jk_woocommerce_breadcrumbs' );
function jk_woocommerce_breadcrumbs() {
    return array(
            'delimiter'   => ' &#47; ',
            'wrap_before' => '<nav class="woocommerce-breadcrumb" itemprop="breadcrumb">',
            'wrap_after'  => '</nav>',
            'before'      => '',
            'after'       => '',
            'home'        => _x( 'Home', 'breadcrumb', 'woocommerce' ),
        );
}

/**
 * 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';
}

/**
 * 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 );
}