为什么使用ADMIN_PRINT_SCRIPTS-{HOOK}将脚本(.js)文件入队是错误的?

时间:2013-01-16 作者:akTed

根据the Codex, 它只能用于头部的内联脚本标记。我一直在使用add_action(\'admin_print_scripts-{my-hook}\' 用于注射。js和add_action(\'admin_print_styles-{my-hook}\' 对于css没有任何问题。我使用wp\\u register\\u script();wp\\u enqueue\\u script()(以及相应的*_style() ) 让他们排队。

“查看源”显示

<link rel=\'stylesheet\' href=[...] />
以及

<script type=\'text/javascript\' src=[...] ></script>
正在插入到(<;头部>正确。

除了抄本上写得很差的不允许这样做的描述之外,有人知道有什么理由不允许这样做吗?

1 个回复
SO网友:fischi

如果只输出脚本,问题就来了(这就是admin_print_scripts 是for)是指您可能会多次包含相同的Javascriptfile,这可能会导致页面出错。

如果您使用wp_enqueue_script() WordPress检查请求的Javascriptfile是否已经在队列中,以及它依赖于哪些依赖项,以便它们以正确的顺序包含。

这个admin_print_scripts 应仅用于输出数据。

有几种方法可以使相同的事情正常工作(您也可以将include硬编码到您的文件中-but do not do that) - 但是你应该总是按照WordPress建议的方式来做,以确保将来的兼容性和WordPress提供的其他一切。

结束

相关推荐