WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Получай пассивный доход от сайта
функция не описана

Yoast\WP\SEO\Presenters

Breadcrumbs_Presenter::crumb_to_link() protected Yoast 1.0

Create a breadcrumb element string.

{} Это метод класса: Breadcrumbs_Presenter{}

Хуки из метода
Возвращает

Строку. The breadcrumb link.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->crumb_to_link( $breadcrumb, $index, $total );
$breadcrumb(массив) (обязательный)
Link info array containing the keys: 'text' => (string) link text. 'url' => (string) link url. (optional) 'title' => (string) link title attribute text.
$index(int) (обязательный)
Index for the current breadcrumb.
$total(int) (обязательный)
The total number of breadcrumbs.

Код Breadcrumbs_Presenter::crumb_to_link() Yoast 16.8

<?php
protected function crumb_to_link( $breadcrumb, $index, $total ) {
	$link = '';

	if ( ! isset( $breadcrumb['text'] ) || ! \is_string( $breadcrumb['text'] ) || empty( $breadcrumb['text'] ) ) {
		return $link;
	}

	$text = \trim( $breadcrumb['text'] );

	if (
		$index < ( $total - 1 )
		&& isset( $breadcrumb['url'] )
		&& \is_string( $breadcrumb['url'] )
		&& ! empty( $breadcrumb['url'] )
	) {
		// If it's not the last element and we have a url.
		$link      .= '<' . $this->get_element() . '>';
		$title_attr = isset( $breadcrumb['title'] ) ? ' title="' . \esc_attr( $breadcrumb['title'] ) . '"' : '';
		$link      .= '<a href="' . \esc_url( $breadcrumb['url'] ) . '"' . $title_attr . '>' . $text . '</a>';
	}
	elseif ( $index === ( $total - 1 ) ) {
		// If it's the last element.
		$inner_elm = 'span';
		if ( $this->helpers->options->get( 'breadcrumbs-boldlast' ) === true ) {
			$inner_elm = 'strong';
		}

		$link .= '<' . $inner_elm . ' class="breadcrumb_last" aria-current="page">' . $text . '</' . $inner_elm . '>';
		// This is the last element, now close all previous elements.
		while ( $index > 0 ) {
			$link .= '</' . $this->get_element() . '>';
			--$index;
		}
	}
	else {
		// It's not the last element and has no url.
		$link .= '<span>' . $text . '</span>';
	}

	/**
	 * Filter: 'wpseo_breadcrumb_single_link' - Allow changing of each link being put out by the Yoast SEO breadcrumbs class.
	 *
	 * @param array $link The link array.
	 *
	 * @api string $link_output The output string.
	 */
	return \apply_filters( 'wpseo_breadcrumb_single_link', $link, $breadcrumb );
}