从WordPress插件添加的脚本和样式标记中删除type属性

问题描述 投票:3回答:1

我使用下面的函数从脚本和样式标记中删除type属性,但此函数不会从插件添加的脚本/样式中删除type属性。它只适用于我的主题文件。

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 );
}
php wordpress
1个回答
6
投票

以下代码适用于我,请通过将代码粘贴到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 );
}

希望这也适合你。

© www.soinside.com 2019 - 2024. All rights reserved.