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

时间:2018-05-10 13:42:40

标签: 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 );
}

1 个答案:

答案 0 :(得分:5)

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

希望这也适合你。