我想强制访问者加载新版本的样式表和脚本

时间:2017-10-18 作者:Mayank Kapahi

希望强制访问者加载样式表和脚本的新版本

2 个回复
最合适的回答,由SO网友:Jesse Vlasveld 整理而成

如果您想强制访问者加载样式表和脚本的新版本,那么(正如@majick所建议的那样)通过查询字符串更改版本是一种方法。这就是缓存的工作方式。

我的建议是确保在每个主要或关键的CSS和JS更新中更新主题版本,并在wp_enqueue_script 版本参数(大多数主题都是这样做的)。

如果这是一个开发问题(有时缓存会妨碍),您可以考虑使用SCRIPT_DEBUG 常数,您可以在wp-config.php 文件这实际上用于获取用于开发目的的文件的非精简版本,但您可以使用它将版本添加到wp_enqueue_scripts 这样的动作:

$theme = wp_get_theme();
$theme_version = $theme->get( \'Version\' );
$dev_version = filemtime( get_template_directory_uri() . \'/path/to.js\' );

$version = ( defined( \'SCRIPT_DEBUG\' ) && SCRIPT_DEBUG ) ? $dev_version : $theme_version;

wp_enqueue_scripts( \'your-script\', get_template_directory_uri() . \'/path/to.js\', array(), $version );
这样,您可以为所有排队设置它,只需在wp-config.php 文件

SO网友:majick

听起来你在谈论破坏名誉。更改查询字符串会使浏览器将URL解释为新资源。除非您想更改整个文件名,否则没有更好的方法可以做到这一点。

使用$ver 的参数wp_enqueue_scriptwp_enqueue_style 使之更容易。你甚至可以设置$ver = time() 要强制每次下载,可能最好使用filemtime 为了两全其美,只在资源实际发生更改时刷新它。

结束

相关推荐

如何将Zend Optimiser+与Batcache一起启用

我正在使用Batcache 具有APC Object Cache Backend 目前为止互联网上有很多帖子声称使用Zend Optimizer代替APC可以减少CPU和内存的使用。我可以在我的服务器上启用Zend Optimizer。但我还没有找到一个插件或解决方法来让Batchache与Zend Optimizer一起工作。这是Batchache的“Zend Optimizer对象缓存后端”吗?如何让Batchache使用Zend Optimizer?非常感谢。