remove_shortcode() WP 2.5.0

Видаляє зареєстрований шорткод.

Видаляти шорткоди потрібно якнайпізніше, в ідеалі до того як буде виводитися будь-який контент. Шорткод WP реєструються дуже рано, ще до події init .

Щоб видалити шорткод з тексту, використовуйте strip_shortcodes() .

Хуків немає.

Повертає

null. Нічого не вертає.

Використання

remove_shortcode($ tag);
$tag
(рядок) (обов’язковий)
Назву шоткода, обробник якого потрібно видалити.

Приклади

0

#1 Видалимо шорткод gallery

За промовчанням у WordPress використовується шоткод , який виводить галерею. Давайте видалимо обробник цього шоткода, для цього перед виведенням контенту вставимо такий код:

remove_shortcode('gallery');

the_content();
0

#2 Взагалі відключимо шорткод [gallery]

Якщо, наприклад, вставити у functions.php

remove_shortcode('gallery');

то при перегляді запису, в контенті шорткод не буде оброблений і буде виведений так:

[Gallery ids = "375,291,166"]

Нотатка: в адмінці, у віз. редакторі, галерея підтримуватиметься…

0

#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() WP 6.0.2

function remove_shortcode( $tag ) {
	Global $shortcode_tags;

	unset($shortcode_tags[$tag]);
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *