wc_admin_filter_core_page_breadcrumbs()WC 1.0

Filter breadcrumbs for core pages that aren't explicitly connected.

Хуков нет.

Возвращает

Массив. Filtered breadcrumb pieces.

Использование

wc_admin_filter_core_page_breadcrumbs( $breadcrumbs );
$breadcrumbs(массив) (обязательный)
Breadcrumb pieces.

Код wc_admin_filter_core_page_breadcrumbs() WC 8.7.0

function wc_admin_filter_core_page_breadcrumbs( $breadcrumbs ) {
	$screen_id              = PageController::get_instance()->get_current_screen_id();
	$pages_to_connect       = wc_admin_get_core_pages_to_connect();
	$woocommerce_breadcrumb = array(
		'admin.php?page=wc-admin',
		__( 'WooCommerce', 'woocommerce' ),
	);

	foreach ( $pages_to_connect as $page_id => $page_data ) {
		if ( preg_match( "/^woocommerce_page_{$page_id}\-/", $screen_id ) ) {
			if ( empty( $page_data['tabs'] ) ) {
				$new_breadcrumbs = array(
					$woocommerce_breadcrumb,
					$page_data['title'],
				);
			} else {
				$new_breadcrumbs = array(
					$woocommerce_breadcrumb,
					array(
						add_query_arg( 'page', $page_id, 'admin.php' ),
						$page_data['title'],
					),
				);

				// phpcs:ignore WordPress.Security.NonceVerification.Recommended
				if ( isset( $_GET['tab'] ) ) {
					// phpcs:ignore WordPress.Security.NonceVerification.Recommended
					$current_tab = wc_clean( wp_unslash( $_GET['tab'] ) );
				} else {
					$current_tab = key( $page_data['tabs'] );
				}

				$new_breadcrumbs[] = $page_data['tabs'][ $current_tab ];
			}

			return $new_breadcrumbs;
		}
	}

	return $breadcrumbs;
}