WordPress как на ладони
wordpress jino

remove_shortcode() WP 2.5

Удаляет функцию-обработчик указанного шоткода.

Хуков нет.

Возвращает

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

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

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

Примеры

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

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

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)[^\]]*\].*?\[\/\1\]~s', '', $content );

		return $content;        
	};
	// вырезаем
	add_filter( 'the_content', $fn__strip_myshortcode, 5 );
}

Код remove shortcode: wp-includes/shortcodes.php VER 4.9.1

<?php
function remove_shortcode($tag) {
	global $shortcode_tags;

	unset($shortcode_tags[$tag]);
}

Cвязанные функции

Из раздела: Шоткоды

Danya 50
Программист фрилансер. Кодингом на PHP занимаю с 2008 года.
remove_shortcode Комментариев нет

Здравствуйте, !

Ваш комментарий