Pro zobrazení drobečkové navigace, má Woocommerce vlastní funkci, kterou například ve výpisu produktů, zavěšuje do akce woocommerce_before_main_content. Takže pokud potřebujete breadcrumbs upravovat, zde najdete několik funkcí, které vám to usnadní.
Všechny funkce vkládejte do functions.php, nebo do odpovídajícího souboru, pokud voláte hook z pluginu.
Změna textu „Home“ na začátku navigace na „Úvod“
add_filter( 'woocommerce_breadcrumb_defaults', 'jk_change_breadcrumb_home_text' );
function jk_change_breadcrumb_home_text( $defaults ) {
$defaults['home'] = 'Úvod';
return $defaults;
}
Změna separatoru v breadcrumbs
add_filter( 'woocommerce_breadcrumb_defaults', 'jk_change_breadcrumb_delimiter' );
function jk_change_breadcrumb_delimiter( $defaults ) {
$defaults['delimiter'] = ' > ';
return $defaults;
}
Samozřejmě záleží na vás, jaký znak použijete.
Změna odkazu „Home“ na linou url
add_filter( 'woocommerce_breadcrumb_home_url', 'woo_custom_breadrumb_home_url' );
function woo_custom_breadrumb_home_url() {
return 'http://example.cz';
}
Odstranění drobečkové navigace
add_action( 'init', 'jk_remove_wc_breadcrumbs' );
function jk_remove_wc_breadcrumbs() {
remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 );
}
Celková změna drobečkové navigace
Pokud potřebujete upravit drobečkovou navigaci poněkud více, nemá smysl používat jednotlivé funkce, ale upravit rovnou celé pole s nastavením:
add_filter( 'woocommerce_breadcrumb_defaults', 'jk_woocommerce_breadcrumbs' );
function jk_woocommerce_breadcrumbs() {
return array(
'delimiter' => ' / ',
'wrap_before' => '',
'before' => '',
'after' => '',
'home' => _x( 'Home', 'breadcrumb', 'woocommerce' ),
);
}
Položky before a after jsem zatím nezkoušel, ale mělo by jít o kód, který se zobrazí před a za textem každého odkazu.
Všechny funkce jsou z oficiálních stránek Woothemes.com