# wp_rel_callback()

URL: https://chugunov.pro/api-wordpress/functions/wp_rel_callback/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 5.3.0.

## Сигнатура

```php
wp_rel_callback( array $matches, string $rel ): string
```

## Описание

Удаляет уже существующую строку перед добавлением, чтобы не нарушить корректность (X)HTML.

## Параметры

- `$matches` `array` — обязательный. Одиночное совпадение.
- `$rel` `string` — обязательный. Добавляемый атрибут rel.

## Возвращаемое значение

`string`

## Исходный код

Файл: `wp-includes/formatting.php:3220`

```php
function wp_rel_callback( $matches, $rel ) {
	$text = $matches[1];
	$atts = wp_kses_hair( $matches[1], wp_allowed_protocols() );

	if ( ! empty( $atts['href'] ) && wp_is_internal_link( $atts['href']['value'] ) ) {
		$rel = trim( str_replace( 'nofollow', '', $rel ) );
	}

	if ( ! empty( $atts['rel'] ) ) {
		$parts     = array_map( 'trim', explode( ' ', $atts['rel']['value'] ) );
		$rel_array = array_map( 'trim', explode( ' ', $rel ) );
		$parts     = array_unique( array_merge( $parts, $rel_array ) );
		$rel       = implode( ' ', $parts );
		unset( $atts['rel'] );

		$html = '';
		foreach ( $atts as $name => $value ) {
			if ( isset( $value['vless'] ) && 'y' === $value['vless'] ) {
				$html .= $name . ' ';
			} else {
				$html .= "{$name}=\"" . esc_attr( $value['value'] ) . '" ';
			}
		}
		$text = trim( $html );
	}

	$rel_attr = $rel ? ' rel="' . esc_attr( $rel ) . '"' : '';

	return "<a {$text}{$rel_attr}>";
}
```

## История изменений

- 5.3.0 — Introduced.

## Связанные

Использует: [`wp_is_internal_link`](https://chugunov.pro/api-wordpress/functions/wp_is_internal_link/), [`wp_kses_hair`](https://chugunov.pro/api-wordpress/functions/wp_kses_hair/), [`wp_allowed_protocols`](https://chugunov.pro/api-wordpress/functions/wp_allowed_protocols/), [`esc_attr`](https://chugunov.pro/api-wordpress/functions/esc_attr/).
Используется в: [`wp_rel_ugc`](https://chugunov.pro/api-wordpress/functions/wp_rel_ugc/), [`wp_rel_nofollow`](https://chugunov.pro/api-wordpress/functions/wp_rel_nofollow/), [`wp_rel_nofollow_callback`](https://chugunov.pro/api-wordpress/functions/wp_rel_nofollow_callback/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/wp_rel_callback/
