WordPress wp_head - 如何将新的脚本文件添加到顶部?

12

如何将我的脚本文件添加到wp_head的顶部?

按照这个指南,使用以下代码将始终将我的新脚本文件添加到最底部:

add_action('wp_head','hook_javascript');

function hook_javascript() {

    $output="<script> alert('Page is loading...'); </script>";

    echo $output;
}

你有什么办法可以把我的新脚本文件移到顶部吗?


为什么你想把JS放在顶部,以及为什么你想让它内联? - Igor Yavych
抱歉,inline只是一个示例。它是一个链接,因为脚本文件必须先加载。 - Run
wp_enqueue_script() - rnevius
我试过了,它会将我的新CSS/ JS文件添加到底部。那么如何将它们向上推呢? - Run
2个回答

18

使用 add_action() 函数的 $priority 参数。

add_action( string $tag, callable $function_to_add, int $priority = 10, int $accepted_args = 1 )

$priority
(int) (可选)用于指定执行特定动作的相关函数的顺序。数字越低,对应的执行越早,具有相同优先级的函数按照它们添加到操作中的顺序执行。
默认值:10

因此,选择一个非常低的数字,只要没有其他插件/主题使用更低的数字,您的代码行将添加在最上面。

add_action('wp_head','hook_javascript', -1000);

6
function enqueue_assets()
{
    wp_enqueue_script('your_plugin_js', plugins_url('/my.js', __FILE__));
}
add_action('wp_enqueue_scripts', 'enqueue_assets');

默认情况下,这将把它放在头部。如果您以后改变主意(而且您应该这样做),您可以将true作为wp_enqueue_script的第五个参数传递,并将其放置在底部。有关参数的更多信息,请参阅文档


1
我有点误解了你的问题。优先级参数应该可以解决问题,就像上面的作者所指定的那样。虽然没有必要将其设置为负值。 - Igor Yavych

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接