因此,要将jQuery公开移动到页脚,必须使用不同的挂钩:wp_enqueue_scripts
, 它只在公众中运行。无需管理员检查。
<?php
defined( \'ABSPATH\' ) or exit;
/* Plugin Name: jQuery to the footer! */
add_action( \'wp_enqueue_scripts\', \'wcmScriptToFooter\', PHP_INT_MAX -1 );
function wcmScriptToFooter()
{
$GLOBALS[\'wp_scripts\']->add_data( \'jquery\', \'group\', 1 );
}
我正在使用
PHP_INT_MAX
, 系统/服务器/操作系统所能达到的最大nr。它确保您的操作最后触发,以确保所有其他挂钩之前都运行过。尽管如此,当涉及到优先事项时,没有什么是百分之百安全的,但你有一个非常公平的机会,它会得到解决。
将有关使用的脚本排入队列$_SERVER
superglobal:你应该避免使用它。命令行界面(简称:CLI,如Git/GNU Bash、Shell等)将无法从那里检索数据。这意味着所有自动化测试环境(如PHPUnit或SimpleTest)都将失败,所有cronjobs或runwhen作业都将无法从中获取任何数据。
好的是,无模式的相对URL可以在所有主要版本的所有主要浏览器中工作。这意味着//code.jquery.com/jquery-latest.min.js
将始终为您提供最新版本。
function wpse124773_jQueryFromCDN()
{
wp_enqueue_script(
\'jquery\',
\'//code.jquery.com/jquery-latest.min.js\',
array(),
0,
true
);
}
如果你坚持使用“官方”的话,那就是正确的版本
latest
版本,WP可能会阻塞它。原因很简单:Core不经常使用最新版本。现在,我们需要确保始终使用WordPress当前使用的版本。为了实现这一点,我们将询问WP当前版本是哪个版本。这意味着我们的脚本将始终与core保持一致并保持最新:
function wpse124773_jQueryFromCDN()
{
$version = $GLOBALS[\'wp_scripts\']->registered[\'jquery\']->ver;
wp_enqueue_script(
\'jquery\',
"//ajax.googleapis.com/ajax/libs/jquery/{$version}/jquery.min.js",
$GLOBALS[\'wp_scripts\']->registered[\'jquery\']->deps,
$version,
true
);
}