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

Eli*_*chy 4 php wordpress

我使用下面的函数从脚本和样式标记中删除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 );
}
Run Code Online (Sandbox Code Playgroud)

小智 7

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

希望这也适合你.