WC_Structured_Data::generate_breadcrumblist_data()
Generates BreadcrumbList structured data.
Hooked into woocommerce_breadcrumb hook.
Метод класса: WC_Structured_Data{}
Хуки из метода
Возвращает
null
. Ничего (null).
Использование
$WC_Structured_Data = new WC_Structured_Data(); $WC_Structured_Data->generate_breadcrumblist_data( $breadcrumbs );
- $breadcrumbs(WC_Breadcrumb) (обязательный)
- Breadcrumb data.
Код WC_Structured_Data::generate_breadcrumblist_data() WC Structured Data::generate breadcrumblist data WC 8.7.0
public function generate_breadcrumblist_data( $breadcrumbs ) { $crumbs = $breadcrumbs->get_breadcrumb(); if ( empty( $crumbs ) || ! is_array( $crumbs ) ) { return; } $markup = array(); $markup['@type'] = 'BreadcrumbList'; $markup['itemListElement'] = array(); foreach ( $crumbs as $key => $crumb ) { $markup['itemListElement'][ $key ] = array( '@type' => 'ListItem', 'position' => $key + 1, 'item' => array( 'name' => $crumb[0], ), ); if ( ! empty( $crumb[1] ) ) { $markup['itemListElement'][ $key ]['item'] += array( '@id' => $crumb[1] ); } elseif ( isset( $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_URI'] ) ) { $current_url = set_url_scheme( 'http://' . wp_unslash( $_SERVER['HTTP_HOST'] ) . wp_unslash( $_SERVER['REQUEST_URI'] ) ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized $markup['itemListElement'][ $key ]['item'] += array( '@id' => $current_url ); } } $this->set_data( apply_filters( 'woocommerce_structured_data_breadcrumblist', $markup, $breadcrumbs ) ); }