搜索和替换页眉中的脚本加载器仅在页脚中有效

时间:2016-03-29 作者:Jarod Thornton

我有一个函数script_loader_tag 用于搜索和替换添加的筛选器asynch="asynch" 属性它起作用了。

我不希望它在页脚中做任何事情,而是只在页眉中做。下面的代码工作正常,但相反,我被难住了。它只是将属性添加到页脚中的脚本中。。。

function async_js_mssa(){
    //function to add async to all scripts
    function js_async_attr($tag){

    // Add async to all remaining scripts
    return str_replace( \' src\', \' async="async" src\', $tag );
    }
    add_filter( \'script_loader_tag\', \'js_async_attr\', 10 );
    }
add_filter(\'wp_head\', \'async_js_mssa\');
我错过了什么?谢谢

1 个回复
最合适的回答,由SO网友:czerspalace 整理而成

你能试试这个吗,这就是我在评论中试图解释的。同样,这只是一个猜测。

function js_async_attr($tag){ 
   // Add async to all remaining scripts
   return str_replace( \' src\', \' async="async" src\', $tag );
}

add_filter( \'script_loader_tag\', \'js_async_attr\');

function remove_js_async_head(){
    // function to add async to all scripts
    remove_filter( \'script_loader_tag\', \'js_async_attr\');
}
add_action( \'wp_head\', \'remove_js_async_head\', 100);