Intereting Posts
Включить таксономию в URL-адрес? Если «редактор» пуст, то Есть ли способ получить N количество редакторов WYSIWYG в настраиваемом типе сообщений? Роли / разрешения пользователя администратора Все сайты подпапок в сети WordPress перенаправляются на главный сайт register_nav_menus, затем программно создавать меню Какая библиотека регистрации пользователей лучше интегрировать WordPress? Можно ли удалить «стандартный» почтовый формат? Удалить тысячи рабочих мест cron Как я могу использовать 'orderby' => 'meta_value_num' для заказа по числовому значению, даже если значение начинается со слова? Как разрешить специальные символы в имени пользователя? Функция возврата не работает, если не используется атрибут «menu» Для каких запросов условные теги информативны? Проблема с плагинами Тиммум все еще разбит? Какие меры безопасности следует предпринять?

Проверьте, используется ли текущий короткий код в виджетах

Как я могу проверить, используется ли текущий шорткод в виджетах? Мне нужно отключить некоторые параметры короткого кода, которые не разрешены в виджетах.

Кто-то знает как?

Есть два крючка, widget_text и dynamic_sidebar_params . Вы можете использовать один из них.

add_filter( 'widget_text', 'wpse219770_filter_widget_text', 1, 3 ); function wpse219770_filter_widget_text( $widget_text, $instance, $widget ) { $tag = 'bartag';//shortcode tag if ( 'text-2' == $widget->id && has_shortcode( $instance['text'], $tag ) ) remove_shortcode( $tag ); else add_shortcode( $tag, 'bartag_func' ); return $widget_text; } 

Или вы можете использовать этот метод:

 add_action( 'dynamic_sidebar_params', 'wpse219770_dynamic_sidebar_params_hook', 1, 1 ); function wpse219770_dynamic_sidebar_params_hook( $content ) { //print_r( $content ) and use it for conditional $tag = 'bartag'; if ( shortcode_exists( $tag ) ) remove_shortcode( $tag ); return $content; }