remove_shortcode()
Видаляє зареєстрований шорткод.
Видаляти шорткоди потрібно якнайпізніше, в ідеалі до того як буде виводитися будь-який контент. Шорткод WP реєструються дуже рано, ще до події init .
Щоб видалити шорткод з тексту, використовуйте strip_shortcodes() .
Хуків немає.
Повертає
null. Нічого не вертає.
Використання
remove_shortcode($ tag);
- $tag
(рядок) (обов’язковий) - Назву шоткода, обробник якого потрібно видалити.
Приклади
#1 Видалимо шорткод gallery
За промовчанням у WordPress використовується шоткод , який виводить галерею. Давайте видалимо обробник цього шоткода, для цього перед виведенням контенту вставимо такий код:
remove_shortcode('gallery');
the_content();#2 Взагалі відключимо шорткод [gallery]
Якщо, наприклад, вставити у functions.php
remove_shortcode('gallery');то при перегляді запису, в контенті шорткод не буде оброблений і буде виведений так:
[Gallery ids = "375,291,166"]
Нотатка: в адмінці, у віз. редакторі, галерея підтримуватиметься…
#3 Відключаємо шорткод та вирізаємо його залишки з контенту запису
Є шорткод myshortcode нам потрібно його відключити та вирізати всі його варіанти з контенту запису.
Для вирізання використовуємо хук the_content фільтр.
add_action( 'init', 'remove_and_strip_shortcode');
function remove_and_strip_shortcode() {
// видаляємо
remove_shortcode( 'myshortcode');
$fn__strip_myshortcode = function( $content ){
// виріже: [myshortcode] та [myshortcode ids="132,2154,548"]
$content = preg_replace( '~[myshortcode[^]]*]~', '', $content );
// виріже: [myshortcode] data [/myshortcode]
$content = preg_replace( '~[(myshortcode)[^]]*].*?[/]~s', '', $content );
return $content;
};
// вирізаємо
add_filter( 'the_content', $fn__strip_myshortcode, 5);
}
нотатки
- Global. Масив. $shortcode_tags
список змін
| З версії 2.5.0 | Введено. |
Код remove_shortcode() remove shortcode WP 6.0.2
function remove_shortcode( $tag ) {
Global $shortcode_tags;
unset($shortcode_tags[$tag]);
}