Удалить type= из кода сайта для CMS WordPress


При проверке сайта сервисом валидации W3C, могут появится предупреждения, связанные с тем, что в коде у скриптов и стилей стоит атрибуты type=’text/css’ и type=’text/javascript’. Они могут появится из-за плагинов, которые используют такой синтаксис при подключении + сам движок WordPress может их использовать. 

Чтобы убрать данные атрибуты и избежать предупреждений, при проверке, можно написать функцию, в файле functions.php вашей темы, которая будет их удалять из кода.

<?
add_filter('style_loader_tag', 'clean_style_tag'); /* Добавляем функцию к хуку style_loader_tag, которая будет удалять атрибут type='text/css' */
function clean_style_tag($src){
    return str_replace("type='text/css'", "", $src);
}

add_filter('script_loader_tag', 'clean_script_tag'); /* Добавляем функцию к хуку script_loader_tag, которая будет удалять атрибут type='text/javascript' */
function clean_script_tag($src){
    return str_replace("type='text/javascript'", "", $src);
}

add_action('wp_loaded', 'buffer_start'); /* Включаем буферезацию вывода, чтобы вызвать функцию по удалению type='text/css' и type='text/javascript' из кода */
function buffer_start(){ 
    ob_start("callback"); 
}

add_action('shutdown', 'buffer_end'); /* Выключаем буферезацию вывода */
function buffer_end(){ 
    ob_end_flush(); 
}

function callback($buffer){ /* Функция по удалению type='text/css' и type='text/javascript' */
    return preg_replace("%[ ]type=[\'\"]text\/(javascript|css)[\'\"]%", "", $buffer);
}
?>

Для связи

Если у вас появились какие-либо вопросы, хотите получить индивидуальный совет или у вас есть интересное предложение, вы можете связаться через форму обратной связи.

Или написать прямо на почту info@bobreod.ru





Отправляя форму, вы соглашаетесь с нашей политикой конфиденциальности