Brug Yoast primær kategori i WooCommerce breadcrumbs
WooCommerce breadcrumbs med Yoast primære kategori
Når man arbejder med WooCommerce, kan woo automatisk bygge breadcrumbs ud fra produktets tilknyttede kategorier. Men hvis et produkt ligger i flere kategorier, vil den som udgangspunkt ikke vælge en primærkategori, men bare den som den finder først. Yoast SEO plugin har dog en indbygget funktion som gør det muligt at vælge en primærkategori og den kategori som man har valgt som den vigtigste vil de fleste gerne have til at blive vist i deres breadcrumbs fremfor en tilfældig kategori.
Som standard vælger WooCommerce blot en tilfældig kategori, hvis der er flere. Det kan betyde, at breadcrumben viser den forkerte sti. Eksempel: Start / Produkter / Tilbud
Yoast SEO giver som nævnt mulighed for at vælge en primær kategori på produktniveau. Den kan vi koble ind i WooCommerce breadcrumbs med et lille filter.
add_filter( 'woocommerce_breadcrumb_main_term', 'lc_breadcrumbs_primary_category' );
/**
* Brug Yoast primær kategori i WooCommerce breadcrumbs.
*/
function lc_breadcrumbs_primary_category( $term ) {
if ( function_exists( 'yoast_get_primary_term_id' ) ) {
$primary_id = yoast_get_primary_term_id( 'product_cat', get_the_ID() );
if ( $primary_id && ! is_wp_error( $primary_id ) ) {
$primary_term = get_term( (int) $primary_id, 'product_cat' );
if ( $primary_term && ! is_wp_error( $primary_term ) ) {
return $primary_term;
}
}
}
return $term;
}Hvordan virker funktionen?
- woocommerce_breadcrumb_main_term giver os mulighed for at bestemme hvilken kategori, WooCommerce skal bruge som udgangspunkt.
- Funktionen tjekker om Yoast SEO er installeret.
- Hvis der er valgt en primær kategori, returneres den.
- WooCommerce sørger selv for at bygge breadcrumb-stien korrekt – inkl. forældre-kategorier, hvis den primære kategori er et child.