如果用户不是admin,请取消注册jQuery?

时间:2014-01-20 16:29:20

标签: javascript php jquery wordpress

我真的希望这不是一个重复的问题。我开始进入Wordpress主题开发之旅。我一直在使用Codex作为文档来编写我创建的每个组件。但是,我遇到了一个片段,由于某些原因我无法理解它。

if ( !is_admin() ) {
    wp_deregister_script( 'jquery' );
    wp_register_script( 'jquery', ( 'ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js' ), false, null, true );
    wp_enqueue_script( 'jquery' );
}

用纯英文阅读片段,如果用户不是管理员,请取消注册jQuery,再次注册,并在适当的时间发送页面时将其排队输出。当我可以简单地将jQuery添加到一组'< script>< / script>'时,我为什么要这样做?标签并完成它?

修改

应该提一下我发现这个片段的位置。我在http://digwp.com/2010/02/blank-wordpress-theme/

的空白主题的functions.php文件中找到了它

3 个答案:

答案 0 :(得分:2)

is_admin()检查当前显示的页面是否为管理员仪表板页面。要检查用户是否为管理员,您可以使用current_user_can('administrator') - 或者更好的是检查特定功能。

此代码的目的是为管理页面(使用大量jQuery和AJAX)保留WordPress附带的jQuery版本,但在主题页面上加载不同的版本。他们可能一直在尝试加载比当时WordPress附带的版本更新的版本,或者他们可能只是试图将其从Google的CDN加载。

答案 1 :(得分:1)

此脚本加载特定版本的jquery,实际上是一个非常古老的版本,因为版本1.10.2是当前的最新版本。

可能它用在一个插件中,其中一些javascript函数在更新版本的jquery中被破坏。

如果可能,尽量避免使用脚本标记直接在头部设置脚本。 通过这种方式,可以动态加载/卸载脚本(如您所示)。

答案 2 :(得分:0)

逻辑可能是:

register_unminified_jquery();
if(!admin) {
    unregister();
    register_minified_jquery();
}