WP脚本/样式加载器可以用来在前端连接和GZIP脚本和样式吗?

时间:2011-01-26 作者:Alex

WP admin中包含一个很好的javascript加载程序:http://core.trac.wordpress.org/browser/tags/3.0.4/wp-admin/load-scripts.php

和CSS加载程序:http://core.trac.wordpress.org/browser/tags/3.0.4/wp-admin/load-styles.php

我想知道是否也可以在前端使用它们,而不仅仅是在管理中,因为它们可以连接所有排队的脚本,并将它们作为单个gzip文件提供

4 个回复
最合适的回答,由SO网友:kaiser 整理而成

迟交的答复

简单来看:

你必须使用

  • include( admin_url().\'load-scripts.php\' );
  • include( admin_url().\'script-loader.php\' );$GLOBALS[\'wp_scripts\']:

    使用(&H);

    $wp_scripts->default_dirs( array_merge( 
         $wp_scripts->default_dirs
        ,array( \'/themes/your_theme/js/\' ) 
    ); 
    
    …扩展它。

    然后使用

    $wp_scripts->add( $handle, $path_from_content_dir, false/array( $deps ), $ver ) 
    
    添加脚本。

    备注:

    搜索未压缩脚本的依据.dev.js (何时SCRIPT_DEBUGTRUE).$wp_styles.编辑:WP 3.5将更改此行为并使用.js 对于“dev”版本和“.min.js”,当(SCRIPT_DEBUGTRUE);(但我想只有使用插件或mu插件时,这才有效。)

    它没有经过测试,如果这能起作用,我也不是舒尔

SO网友:Chris_O

这是一个很好的问题,也是WordPress的一个很好的功能

其他一些答案没有解决主要问题。

我想知道是否也可以在前端使用它们,而不仅仅是管理,因为它们可以将所有排队的脚本合并,并将它们作为单个gzip文件提供。

不,目前无法使用内置脚本加载器连接前端的css和脚本。

有一次discussion about this on WP Hackers 几年前trac ticket for this enhancement 这已被接受,但将在将来发布。

SO网友:Chip Bennett

如果需要在前端将CSS文件排队:

1) 通过wp\\u Register\\u style($handle,$src)注册样式2)将wp\\u enqueue\\u style($handle)挂钩到wp\\u print\\u style挂钩中。

如果需要在前端将脚本排队:

1) 通过wp\\u Register\\u script($handle,$src)注册样式2)将wp\\u enqueue\\u script($handle)挂钩到wp\\u head挂钩中。

(注意:我本以为wp\\u print\\u styles钩子可以解决这个问题,但这个钩子显然没有按预期工作。)

SO网友:Scott

我有一些脚本你可能想看看。

1. Combine.php - 在我的一些主题上,我已经实现了this script. 它支持类似的功能,可以放在模板文件夹中,并相对容易地使用。

2. WP Minify - This plugin 支持缩小并且非常容易使用。

3. W3 Total Cache - 是一个非常强大的性能插件。它还支持脚本/css组合以及大量其他功能,例如将组合的脚本卸载到CDN。

结束