Automattic\WooCommerce\Blocks

CoreBreadcrumbsCompatibility::prepend_shop_page_to_product_taxonomy_breadcrumbs │ private │ WC 1.0

Prepend the shop page 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_shop_page_to_product_taxonomy_breadcrumbs( $items );
$items(array) (required)
Array of breadcrumb items from Core.

CoreBreadcrumbsCompatibility::prepend_shop_page_to_product_taxonomy_breadcrumbs() code WC 11.1.2

private function prepend_shop_page_to_product_taxonomy_breadcrumbs( $items ) {
	if ( ! ( is_product_category() || is_product_tag() ) ) {
		return $items;
	}

	$permalinks = wc_get_permalink_structure();
	$shop_page  = $this->get_woocommerce_page_post( 'shop' );

	if (
		! $shop_page ||
		! isset( $permalinks['product_base'] ) ||
		! strstr( $permalinks['product_base'], '/' . $shop_page->post_name ) ||
		intval( get_option( 'page_on_front' ) ) === $shop_page->ID
	) {
		return $items;
	}

	return $this->prepend_shop_page_to_breadcrumbs( $items );
}