适当的使用缓存可以加快网站的加载速度,提高用户体验。但是有些时候,由于缓存或CDN导致我们的js和css文件被缓存了,如果没有清理缓存,或强制刷I | –新浏览器,可能无法加载最新d 7 6 i的js和css。
为了解决这些问题,WordPress一直: s \ J都有相应解决| j u方案。
通过版本号更新
最常用的就是为js和css文件U % x y Y [ 8添加版本号参数。
如果你做过WordPress开w , ! ; _ t发,应该知道如何使用wp_enquB ~ f s d 5 c _eue_script()
引入js文件,使用wp_enqueue_style()
函数引~ } ? E D 2入css文件。这两个函数都有一个版本参数。下面以wp_enqueue_style()
为例:
- /**
- *引入css文件(版本号)
- */
- functionwpkj_enqueue_scripts(){
- wp_enqueue_style(
- ‘my-custom-st% J $ ; 2yle’,
- gf v Eet_stylesheet_directory_uri().‘/css/customstyle.css’,
- [],//依赖
- ‘1.0.0’//版本号
- );
- }
- add_action(‘wp_enqueueY A J_scripts’,‘wpkj_enqueue_D h & 1 wscrip/ j + e M D \ jts’);
通过上面^ M { Y :的代码引入的css文件,加载出来的代码大概为:
- <linkrel=’stylesheet’id=’my-R T l Gcustom-style-css’href=’https://example.com/wp-content/themes/mycustomtheme/css/customstyle.css?ver=1.0.0′type=’text/css’media=’all’/>
你可以看到文件网址后面有一个参数customstyle.css?ver=1.0.0
,如– d ] ` m果我们的_ f ; J b Wcss代码更新了,我们只需要更改wp_enqueue_styleb N p C a ; U 5 F()
中的版本号参数即可,比如更改为1.0.S U F T 11
,那输入的文件网址就应该为customstyle.css?ver=1.0.1
,这样就达到了自动更新文件的效果。
通过时间戳更新
虽然说& A $ 5 B 0 ~ ~ r版本号是一种可行的方案,但是每次修改css代码都要更新一个版本号,这个做法在实际开发中并不科学,所以我们可以考虑使用时间戳来实现。
我们可以通过fir + 7 @lemtimU t L / S j 2 6e()
函数来自动获取文件最后更] U B H新的时间戳,然后将这个时间戳作为版本号参数的值。
比如,我们可以将上面的函数修改为:
- /**
- *引入css文件(时间戳)
- */
- functionwpkj_enqueue_scriptm Q w Hs(){
- wp_enqueue_style(
- ‘my-custom-style’,
- get_stylb K X ; Iesheet_directory_uri().‘/css% / 8 C :/customstyle.css’,
- [],//依赖
- filemtime(get_stu E q k – o Z k 1ylesheet_directI S J p e Y f oory3 M w n().‘/css/customstyle.css’)//版本
- );
- }
- add_action(‘wp_enqueueE X T n K G 7_scripts’,b R e [ ( 4 Q z‘wpkj_enqueue_sc0 J k b q ;ripts’);
注意看上代码的第10行。最后输入的代码应该为:
- <linkrel=’stylesheet’id=’my-custom-style-css’href=’https://example.com/wp-content/the; D C _ 4 R 9 = dmes/mycustomtheme/css/customstyley \ @.cssm O 6 ; E _ b S?ver=1458475236′ type=’text/css’ media=’all’ />
从中我们可以看到版本号参数的值为一个时间戳customstyle.css?ver=1458475236
,每次我们修改了 customstyle.css
文件,都会自动更新这个时间戳,达到了及时更新参数的目的。