WordPress как на ладони
rgbcode is looking for WordPress developers. Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

remove_shortcode()WP 2.5.0

Удаляет зарегистрированный шорткод.

Удалять шорткоды нужно как можно позднее, в идеале до того как будет выводиться какой-либо контент. Шорткоды WP регистрируются очень рано, еще до события plugins_loaded. Шорткоды плагинов обычно также регистрируются рань до события init.

Чтобы удалить шорткоды из текста, используйте strip_shortcodes().

Хуков нет.

Возвращает

null. Ничего не возвращает.

Использование

remove_shortcode( $tag );
$tag(строка) (обязательный)
Название шоткода, обработчик которого нужно удалить.

Примеры

0

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

По умолчанию в WordPress используется шоткод [gallery], который выводит галерею. Давайте удалим обработчик этого шоткода, для этого перед выводом контента вставим такой код:

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.4.3

function remove_shortcode( $tag ) {
	global $shortcode_tags;

	unset( $shortcode_tags[ $tag ] );
}
Danya 50
Программист фрилансер. Кодингом на PHP занимаю с 2008 года.
Редакторы: campusboy 4736, Kama 9598
2 комментария
    Войти