添加内联脚本的更好方法是什么?

时间:2018-08-20 作者:Abderrahim Boumhand

在WordPress主题或插件中添加内联脚本的更好方法是什么?是通过功能wp_add_inline_script, 或使用挂钩wp_footer? 为什么呢?

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

wp_add_inline_script() 用于使用或依赖于已排队的其他脚本的内联脚本wp_enqueue_script(). 它确保内联脚本相对于主脚本被适当地放置,并且如果主脚本未注册,则不会出现内联脚本。示例来自the announcement 正在使用Typekit:

function mytheme_enqueue_typekit() {
   wp_enqueue_script( \'mytheme-typekit\', \'https://use.typekit.net/<typekit-id>.js\', array(), \'1.0\' );
   wp_add_inline_script( \'mytheme-typekit\', \'try{Typekit.load({ async: true });}catch(e){}\' );
}
add_action( \'wp_enqueue_scripts\', \'mytheme_enqueue_typekit\' );
这导致

<script type=\'text/javascript\' src=\'https://use.typekit.net/<typekit-id>.js?ver=1.0\'></script>
<script type=\'text/javascript\'>
try{Typekit.load({ async: true });}catch(e){}
</script>
钩住wp_footer 很好,但如果您的脚本依赖于先加载的另一个脚本,则可靠性会降低,因为您需要手动确保将其添加到正确的位置,并在脚本退出队列时将其正确删除,以便不会发生错误。

如果您的脚本不依赖于其他脚本,并且需要内联,那么wp_footer 这是最好的选择。

结束

相关推荐

插件中的JavaScript数据表

我有一个已经开始开发的插件,我想尝试使用datatables。net显示表格数据。我不知道如何做到这一点,在搜索和尝试了不同的东西后,我迷路了。以下是我的插件中的内容。当前,当我加载页面时,它会显示表,我可以在页面源代码中看到加载了dataTables js、dataTables css和customScriptDatatables。add_action(\'create_datatable\', \'show_datatable\'); function show_datatable (){&#