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]); }