您现在的位置是:首页 > 网站制作 > WordpressWordpress
wordpress在代理(squid)中更新css/js文件缓存的方法
杰帅2023-06-19【Wordpress】人已围观
简介函数中你可以定义css/js的版本号,以便我们在对css/js文件更新时能够清楚浏览器的缓存,默认的版本号是wordpress的版本号。版本号会链接在css/js完整路径的后面,一般在版本号变更后,css/js载入的样式的完整URL也会变更,浏览器发现URL变更会重新请求css/js文件,这样就能达到载入最新的css/js文件。
在wordpress添加css或者js文件,我们一般使用这四个函数来实现:
- wp_enqueue_script()
- wp_enqueue_style()
- wp_register_script()
- wp_register_style()
函数介绍:
- 点击查看wp_enqueue_script()介绍
- 点击查看wp_enqueue_style()介绍
- 点击查看wp_register_script()介绍
- 点击查看wp_register_style()介绍
函数中你可以定义css/js的版本号,以便我们在对css/js文件更新时能够清楚浏览器的缓存,默认的版本号是wordpress的版本号。版本号会链接在css/js完整路径的后面,一般在版本号变更后,css/js载入的样式的完整URL也会变更,浏览器发现URL变更会重新请求css/js文件,这样就能达到载入最新的css/js文件。
但是很多代理软件(比如squid)并不支持”?“号形式的cache,我们在使用反向代理来cache我们的网站时,特别在squid3.0以后,已经开始不对带”?”号的url进行缓存了。所以我们如果要使用squid的缓存功能就必须去掉”?”,更新squid代理商的缓存只能通过修改文件名来实现。
以下我们将介绍在wordpress通过对版本号的控制来修改js/css文件名从而能够在代理软件中达到缓存的目的:
1、在我们的主题代码functions.php文件中添加如下代码:
- /**
- * Description: wordpress在代理(squid)中更新css/js文件缓存的方法
- * Author:wordpress教程网
- * Author URI: http://www.shouce.ren/
- */
- function ds_filename_based_cache_busting( $src ) {
- // 管理员的后台css/js文件无需处理
- if ( is_admin() )
- return $src;
- //将版本号添加到文件名中已”.“号来区分
- return preg_replace(
- '/\.(js|css)\?ver=(.+)$/',
- '.$2.$1',
- $src
- );
- }
- add_filter( 'script_loader_src', 'ds_filename_based_cache_busting' );
- add_filter( 'style_loader_src', 'ds_filename_based_cache_busting' );
如果你使用的是apache服务器,在你的根目录的.htaccess文件下添加:
- <IfModule mod_rewrite.c>
- RewriteEngine On
- RewriteBase /
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule ^(.+)\.(.+)\.(js|css)$ $1.$3 [L]
- </IfModule>
如果你是nginx服务器配置如下:
- location ~ ^(.+)\.(.+)\.(js|css)$ {
- alias $1.$3;
- }
很赞哦! ()
相关文章
随机图文
-
wp_reset_postdata 和 wp_reset_query 的作用与区别
什么时候使用wp_reset_query,什么时候用wp_reset_postdata? -
wordpress发布文章HTML标签被自动过滤掉该如何处理?
wordpress发布文章时很多html标签都会自动过滤掉,造成了文章中无法添加<style></style><script></script>等标签。那么该如何如何处理呢? 解决方法一: 将wp-includes文件夹下 -
wordpress 上传的图片不显示的问题 base64,data:image/gif
-
WordPress 页面模板(Page Template)下拉列表不显示的原因及解决方法
WordPress 的自定义页面模板是一个非常强大好用的功能,使用它新建一些静态页面(Page),添加上一些数据调用的函数,再在网页上做一个导航连接到对应的页面就可以实现很多自定义的功