## Функция REMOVE_SHORTCODE() │ WP 2.5.0
### Описание
Функция remove_shortcode()
отключает обработку шорткода в WordPress. Шорткоды - это специальные метки, которые можно использовать в содержимом для вставки различных элементов, таких как галереи, аудио и видео.
### Возвращаемое значение
Функция ничего не возвращает (null).
### Использование
```php
remove_shortcode( $tag );
$tag
(строка, обязательный параметр) — название шорткода, который вы хотите отключить.
Примеры использования
Пример 1: Удаление шорткода галереи
По умолчанию WordPress использует шорткод , который отображает галерею изображений. Вы можете отключить этот шорткод, добавив следующий код перед выводом контента:
remove_shortcode( 'gallery' );
// ...
the_content();
Пример 2: Полное отключение шорткода
Если вы добавите следующий код в файл functions.php
, то при просмотре поста шорткод в контенте не будет обрабатываться и будет отображаться как текст:
remove_shortcode( 'gallery' );
При этом в админпанели, в визуальном редакторе, галерея все еще будет поддерживаться.
Пример 3: Отключение шорткода и удаление его из контента
Предположим, у нас есть шорткод myshortcode
, который нужно отключить и удалить все его появления из контента поста. Для этого используйте фильтр the_content
.
add_action( 'init', 'remove_and_strip_shortcode' );
function remove_and_strip_shortcode() {
// Отключаем шорткод
remove_shortcode( 'myshortcode' );
// Удаляем шорткод из контента
add_filter( 'the_content', '_strip_myshortcode', 5 );
}
function _strip_myshortcode( $content ){
// Удаляем: [myshortcode] и [myshortcode ids="132,2154,548"]
$content = preg_replace( '~[myshortcode[^]]*]~', '', $content );
// Удаляем: [myshortcode] данные [/myshortcode]
$content = preg_replace( '~[(myshortcode)[^]]*].*?[/]~s', '', $content );
return $content;
}
Пример 4: Добавление и удаление пользовательского шорткода
Вы можете не только удалять шорткоды, но и добавлять свои. В следующем примере мы сначала добавим пользовательский шорткод, а затем его удалим.
add_action( 'init', 'add_my_shortcodes' );
add_action( 'init', 'remove_my_shortcodes', 20 );
// Добавляем пользовательский шорткод
function add_my_shortcodes() {
add_shortcode( 'myShortcode', 'my_shortcode_function' );
}
// Удаляем пользовательский шорткод
function remove_my_shortcodes() {
remove_shortcode( 'myShortcode' );
}
Примечания
- Глобальная переменная
$shortcode_tags
хранит все зарегистрированные шорткоды.
Журнал изменений
- С версии 2.5.0: Функция была добавлена.
Связанные функции
- Добавление шорткодов:
add_shortcode()
- Применение шорткодов:
apply_shortcodes()
- Выполнение шорткодов:
do_shortcode()
- Шорткод галереи:
gallery_shortcode()
- Получение регулярного выражения для шорткодов:
get_shortcode_regex()
- Проверка наличия шорткода:
has_shortcode()
- Удаление всех шорткодов:
remove_all_shortcodes()
- Атрибуты шорткодов:
shortcode_atts()
- Проверка существования шорткода:
shortcode_exists()
- Парсинг атрибутов шорткодов:
shortcode_parse_atts()
- Удаление шорткодов из контента:
strip_shortcodes()
- Аудио шорткод:
wp_audio_shortcode()
- Плейлист шорткод:
wp_playlist_shortcode()
- Видеошорткод:
wp_video_shortcode()