Automattic\WooCommerce\Blocks

CoreBreadcrumbsCompatibility::prepend_taxonomy_label_to_product_taxonomy_breadcrumbs │ private │ WC 1.0

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