Функция REMOVE_SHORTCODE() в WordPress: описание и примеры использования

## Функция 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()

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *