Я использую приведенную ниже функцию для удаления атрибута типа из тегов скрипта и стиля, но эта функция не удаляет атрибут типа из скриптов / стилей, добавленных плагинами. Это работает только с моими файлами тем.
add_filter('style_loader_tag', 'codeless_remove_type_attr', 10, 2);
add_filter('script_loader_tag', 'codeless_remove_type_attr', 10, 2);
function codeless_remove_type_attr($tag, $handle) {
return preg_replace( "/type=['\"]text/(javascript|css)['\"]/", '', $tag );
}






Следующий код сработал для меня, попробуйте это, вставив код в файл function.php.
add_action('wp_loaded', 'prefix_output_buffer_start');
function prefix_output_buffer_start() {
ob_start("prefix_output_callback");
}
add_action('shutdown', 'prefix_output_buffer_end');
function prefix_output_buffer_end() {
ob_end_flush();
}
function prefix_output_callback($buffer) {
return preg_replace( "%[ ]type=[\'\"]text/(javascript|css)[\'\"]%", '', $buffer );
}
Надеюсь, это сработает и для вас.
После долгих поисков по этой теме это был, безусловно, лучший ответ на возникшую проблему. Отличная работа @Tristup
МОЙ БОГ! Я думал, что после множества других кодов решения нет! но ваш работает на 100% отлично, как и ожидалось :) Спасибо
Хук
script_loader_tagбудет работать только с файлами JS, которые были правильно поставлены в очередь. Если он не работает с вашими плагинами, это означает, что скрипты не помещаются в очередь плагином должным образом. Вам придется напрямую изменять файлы плагинов.