Jak upravit breadcrumbs ve Woocommerce

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' => '<nav class="woocommerce-breadcrumb" itemprop="breadcrumb">',
            'wrap_after'  => '</nav>',
            '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

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Související články

2 Comments

  1. Honza Kopřiva

    Já už nevím kudy kam…

    potřebuju, aby se breadcrumb zobrazoval nad produktem. Ale…

    Když vložím nad

    Tak se zobrazí něco jako „eShop/Stránka/eShop příslušenství…“

    Pokud to vložím

    Zobrazí se pod produktem správný breadcrumb typu „eShop/Kategorie/podkategorie/název produktu“

    Vyzkoušel jsem uplně všechno, vkládat funkci do functions a podobně, ale stále stejný problém…

    Proč se toto děje? Nejsem programátor a PHP rozumím taky pomálu… takže mi to nejde do hlavy… Prostě, jakmile je ten kód před obsahem produktu, tak to je špatný…

    Pro představu: http://www.potok.cz/eshop/prislusenstvi/boxy/bucket-works-utility-box/
    (pod logem je nadpis a pod ním je špatný BC + uplně doooole je ten, co se zobrazuje jak má… Ale potřebuji ho nahoru, pod nadpis, kde nefunguje korektně)

    Děkuji za nápady, už jsem z toho uplně vedle!

    Odpověď

Přidejte komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *