Answers:
第四个参数,$ver
用于wp_enqueue_style()
允许您设置版本:
wp_enqueue_style( string $handle,
string $src = false,
array $deps = array(),
string|bool|null $ver = false,
string $media = 'all' );
根据文档:
$ ver(string | bool | null)(可选)指定样式表版本号(如果有的话)的字符串,该版本号作为查询字符串添加到URL中以用于缓存清除。如果version设置为false,则会自动添加一个与当前安装的WordPress版本相同的版本号。如果设置为null,则不添加任何版本。默认值:
false
wp_enqueue_style()
吗?WordPress根据$ver
答案中发布的说明自动处理版本控制,因此我假设将$ ver设置为false。如果要更改它,请将$ ver参数更改为新字符串(由于WordPress已使用该约定,因此我不使用4.6.2),但从技术上讲,它可以工作。
$ver = time();
,每次您访问页面时都会创建一个新版本,而该版本就是时间。
大多数情况下,主题的use wp_enqueue_style()
函数在其functions.php文件中,以在标题中添加样式表。这是确定主题是否相同的方法。
打开wp-content/themes/YOUR_THEME_NAME/functions.php
文件,然后找到添加样式表的行,例如:
wp_enqueue_style('main_style', get_stylesheet_directory_uri() . '/style.css');
或喜欢:
wp_enqueue_style( 'twentysixteen-style', get_stylesheet_uri() );
您可以搜索ID(
-css
部分除外)...如果ID为:main_style-css
仅main-style
在functions.php文件中搜索,您可能应该找到所要查找的代码行。
现在,您已经找到了代码,并且知道您的主题通过wp_enqueue_style()
在functions.php文件中使用来添加此样式表。您需要更新此代码的版本。
$style_ver = filemtime( get_stylesheet_directory() . '/style.css' );
wp_enqueue_style( 'main_style', get_stylesheet_directory_uri() . '/style.css', '', $style_ver );
如您所见,此代码使用filemtime()
PHP函数获取style.css文件的最后修改时间,并且还使用PHP函数将时间转换为时间戳time()
,以使事情变得更整洁。
如果您不想每次都动态更改版本,只需执行以下操作:
wp_enqueue_style( 'main_style', get_stylesheet_directory_uri() . '/style.css', '', '1.5' );
就是这样。和平!
get_stylesheet_directory()
在内部使用filemtime()
它,因为它将返回系统路径。
我从这些答案中得到的并不多,所以我认为我会写出对我有用的东西。我知道抄本说:
$ ver(string | bool | null)(可选)指定样式表版本号(如果有的话)的字符串,该版本号作为查询字符串添加到URL中以用于缓存清除。如果version设置为false,则会自动添加一个与当前安装的WordPress版本相同的版本号。如果设置为null,则不添加任何版本。默认值:false
但这对于它的实际工作方式是非常神秘的。我无法获得版本号wp_enqueue_style
来触发?ver=1.2.3
样式表中的查询参数。但是,将其设置为true允许样式表的声明版本到cache bust
样式表。(继续阅读)
在您的style.css中,您必须命名主题。WP需要这样做。但是其他选项,例如version
wp_enqueue_style的boolean版本也提供了引用。
/******************************************************************
Site Name: MySite.com
Author: @BenRacicot
Version: 4.0 // <- wp_enqueue_style's version number
Stylesheet: Main Stylesheet
******************************************************************/
现在,当我改变,要Version: 4.1
我弄style.css?cache-bust=0.24135995238933283
您可以仅time()
在入队样式或脚本这样的时间使用。
不使用wordpress wp_enqueue_style()
功能
<link rel='stylesheet' id='xxxx' href='https://www. site css/ styles.css?ver=<?php echo time(); ?>' type='text/css' media='all' />
使用wp_enqueue_style()
功能
wp_enqueue_style('style_sheet_name', get_stylesheet_directory_uri() . '/custom_style.css', '', time());
要么
wp_enqueue_style('style_sheet_name', get_stylesheet_uri() . '/custom_style.css', '', time());