Задать вопрос
@full-size

Как удалить все атрибуты type='text/javascript' и type="text/css" из Вордпресс?

Здравствуйте!
Сделал проверку сайта в валидаторе и выяснилось, что теперь в HTML 5 не обязательно указывать type="text/css" в стилях и type='text/javascript' в скриптах.
Вот что пишет валидатор:

The type attribute for the style element is not needed and should be omitted.
From line 23, column 84; to line 23, column 106
-icon" > type="text/css"


и

The type attribute is unnecessary for JavaScript resources.
From line 21, column 1; to line 21, column 160
='all' /> type='text/javascript'


Мой сайт на вордпресс. Подскажите, пожалуйста, можно ли удалить эти аттрибуты на во всех скриптах и стилях на сайте через указания в файле functions.php? Если можно, то прошу практическое решение.

Это решение не работает:
add_filter('style_loader_tag', 'clean_style_tag');
function clean_style_tag($src) {
return str_replace("type='text/css'", '', $src);
}

add_filter('script_loader_tag', 'clean_script_tag');
function clean_script_tag($src) {
return str_replace("type='text/javascript'", '', $src);
}


Спасибо.
  • Вопрос задан
  • 10550 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 4
add_action( 'template_redirect', function(){
    ob_start( function( $buffer ){
        $buffer = str_replace( array( 'type="text/javascript"', "type='text/javascript'" ), '', $buffer );
        $buffer = str_replace( array( 'type="text/css"', "type='text/css'" ), '', $buffer );
        return $buffer;
    });
});
Ответ написан
@Hormet
С версии 5.3 этот вопрос решается так:
add_theme_support( 'html5', array(  'script', 'style' ) );
Ответ написан
Комментировать
houseprog
@houseprog
Веб-разработчик
Я применил не самый красивый, но действующий способ решения, в файле ./wp-includes/class.wp-scripts.php поправил function print_extra_script() убрав из кода вывода type='text/javascript'
Ответ написан
Комментировать
@artyomunder
гуглю за ленивых
Все так же, как и в прошлый раз
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы