# add_shortcode()

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

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

## Сигнатура

```php
add_shortcode( string $tag, callable $callback )
```

## Описание

Следует позаботиться — с помощью префиксов или иными способами — о том, чтобы добавляемый тег шорткода был уникальным и не конфликтовал с другими, уже добавленными тегами шорткодов. В случае дублирования тега приоритет получит тег, загруженный последним.

## Параметры

- `$tag` `string` — обязательный. Тег шорткода для поиска в содержимом записи.
- `$callback` `callable` — обязательный. Функция обратного вызова, запускаемая при обнаружении шорткода.
  
  По умолчанию каждой функции обратного вызова шорткода передаются три параметра: массив атрибутов ($atts), содержимое шорткода или null, если оно не задано ($content), и, наконец, сам тег шорткода ($shortcode_tag) — именно в этом порядке.

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

Файл: `wp-includes/shortcodes.php:63`

```php
function add_shortcode( $tag, $callback ) {
	global $shortcode_tags;

	if ( '' === trim( $tag ) ) {
		_doing_it_wrong(
			__FUNCTION__,
			__( 'Invalid shortcode name: Empty name given.' ),
			'4.4.0'
		);
		return;
	}

	if ( 0 !== preg_match( '@[<>&/\[\]\x00-\x20=]@', $tag ) ) {
		_doing_it_wrong(
			__FUNCTION__,
			sprintf(
				/* translators: 1: Shortcode name, 2: Space-separated list of reserved characters. */
				__( 'Invalid shortcode name: %1$s. Do not use spaces or reserved characters: %2$s' ),
				$tag,
				'& / < > [ ] ='
			),
			'4.4.0'
		);
		return;
	}

	$shortcode_tags[ $tag ] = $callback;
}
```

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

- 2.5.0 — Introduced.

## Связанные

Использует: [`__`](https://chugunov.pro/api-wordpress/functions/__/), [`_doing_it_wrong`](https://chugunov.pro/api-wordpress/functions/_doing_it_wrong/).
Используется в: `WP_Embed::__construct`, `WP_Embed::run_shortcode`.

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