最近整理BLOG的代码删紧D过期嘢,更换高亮代码实现方式,发现有新的加defer或async方法。
以前都是通过
function js_add_defer_async_attr($jsline){
return str_replace( ' src=', ' defer src=', $jsline);
}
add_filter( 'script_loader_tag', 'js_add_defer_async_attr' );
的形式来加。
但发现从WP6.3开始,就可以直接用wp_enqueue_script来加了,第五个参数增加新定义。
'strategy' => 'defer'
'strategy' => 'async'
新定义只限呢两个,冇其它了。
实际应用就是:
wp_enqueue_script( 'you-js-id', get_template_directory_uri() . '/js/you.js', false, '0.01', array('strategy' => 'defer',) );
输出的结果:
<script src="https://abcdef/wp-content/themes/xxxxx/js/you.js?ver=0.01" id="you-js-id-js" defer="defer" data-wp-strategy="defer"></script>
依家搞起身就方便好多了。