Удалить атрибут типа из тегов скрипта и стиля, добавленных плагинами WordPress

Я использую приведенную ниже функцию для удаления атрибута типа из тегов скрипта и стиля, но эта функция не удаляет атрибут типа из скриптов / стилей, добавленных плагинами. Это работает только с моими файлами тем.

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 );
}

Хук script_loader_tag будет работать только с файлами JS, которые были правильно поставлены в очередь. Если он не работает с вашими плагинами, это означает, что скрипты не помещаются в очередь плагином должным образом. Вам придется напрямую изменять файлы плагинов.

APAD1 10.05.2018 18:11
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
4
1
2 832
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Следующий код сработал для меня, попробуйте это, вставив код в файл 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

ben.kaminski 24.06.2018 18:22

МОЙ БОГ! Я думал, что после множества других кодов решения нет! но ваш работает на 100% отлично, как и ожидалось :) Спасибо

Jodyshop 06.12.2019 00:07

Другие вопросы по теме