Automattic\WooCommerce\Blocks
CoreBreadcrumbsCompatibility::prepend_taxonomy_label_to_product_taxonomy_breadcrumbs
Prepend taxonomy labels to product taxonomy breadcrumbs.
Method of the class: CoreBreadcrumbsCompatibility{}
No Hooks.
Returns
array. Modified breadcrumb items.
Usage
// private - for code of main (parent) class only $result = $this->prepend_taxonomy_label_to_product_taxonomy_breadcrumbs( $items );
- $items(array) (required)
- Array of breadcrumb items from Core.
CoreBreadcrumbsCompatibility::prepend_taxonomy_label_to_product_taxonomy_breadcrumbs() CoreBreadcrumbsCompatibility::prepend taxonomy label to product taxonomy breadcrumbs code WC 11.1.2
private function prepend_taxonomy_label_to_product_taxonomy_breadcrumbs( $items ) {
if ( ! is_product_taxonomy() || empty( $items ) ) {
return $items;
}
$current_term = $this->get_queried_term();
if ( ! $current_term || in_array( $current_term->taxonomy, array( 'product_brand', 'product_cat', 'product_tag' ), true ) ) {
return $items;
}
$taxonomy = get_taxonomy( $current_term->taxonomy );
if ( ! $taxonomy || ! $taxonomy->labels->name ) {
return $items;
}
$insert_index = $this->get_first_breadcrumb_insert_index( $items );
if ( isset( $items[ $insert_index ]['label'] ) && $taxonomy->labels->name === $items[ $insert_index ]['label'] ) {
return $items;
}
return $this->insert_parent_breadcrumb_item(
$items,
array(
'label' => $taxonomy->labels->name,
)
);
}