适当的使用缓存可以加快网站的加载速度,提高用户体验。但是有些时候,由于缓存或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()为例:

  1. /**
  2. *引入css文件(版本号)
  3. */
  4. functionwpkj_enqueue_scripts(){
  5. wp_enqueue_style(
  6. ‘my-custom-st% J $ ; 2yle’,
  7. gf v Eet_stylesheet_directory_uri().‘/css/customstyle.css’,
  8. [],//依赖
  9. ‘1.0.0’//版本号
  10. );
  11. }
  12. add_action(‘wp_enqueueY A J_scripts’,‘wpkj_enqueue_D h & 1 wscrip/ j + e M D \ jts’);

通过上面^ M { Y :的代码引入的css文件,加载出来的代码大概为:

  1. <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新的时间戳,然后将这个时间戳作为版本号参数的值。

比如,我们可以将上面的函数修改为:

  1. /**
  2. *引入css文件(时间戳)
  3. */
  4. functionwpkj_enqueue_scriptm Q w Hs(){
  5. wp_enqueue_style(
  6. ‘my-custom-style’,
  7. get_stylb K X ; Iesheet_directory_uri().‘/css% / 8 C :/customstyle.css’,
  8. [],//依赖
  9. filemtime(get_stu E q k – o Z k 1ylesheet_directI S J p e Y f oory3 M w n().‘/css/customstyle.css’)//版本
  10. );
  11. }
  12. 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行。最后输入的代码应该为:

  1. <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文件,都会自动更新这个时间戳,达到了及时更新参数的目的。