我希望浏览器在用户刷新时加载css/js
个文件。
因此,我在Codex中了解了wp_enqueue_script()
。
wp_enqueue_style( string $handle, string $src = '', array $deps = array(), string|bool|null $ver = false, string $media = 'all' )
如您所见,$ver
参数就在那里!
但是,它没有用。
这就是我所做的。
更改文件名。
get_stylesheet_directory_uri()。 '/ style.css中'
get_stylesheet_directory_uri()。 '/ my_style.css'
但浏览器加载my_style.css。是的,wp_enqueue_style()效果很好。
直接添加ver
get_stylesheet_directory_uri()。 '/ style.css中?版本= 0.001'
get_stylesheet_directory_uri()。 '/ style.css中?版本= 1.0.0'
get_stylesheet_directory_uri()。 '/ style.css中?版本= ABCDE'
但是,浏览器只需加载style.css
而不加?ver=~~
。
style.css
而不加?ver=~~
。为什么呢?
答案 0 :(得分:2)
如果您可以使用 wp_register_style 功能,如果要在附加的css文件的末尾添加随机版本号。将随机(版本)数字rand(111,9999)传递给第4个参数。示例在这里。您可以在 functions.php
中添加此代码wp_register_style( 'custom-style', get_template_directory_uri() . '/css/custom-style.css', array(), rand(111,9999), 'all' );
答案 1 :(得分:1)
您应该以正确的方式加载wp_enqueue_style()
的css。
例如,将此代码放在主题functions.php
文件中:
function addStyles() {
wp_enqueue_style( 'your-theme-name', get_template_directory_uri().'/style.css', array(), 'your-version');
}
add_action('wp_head', 'addStyles');
它有效:
答案 2 :(得分:1)
CSS版。
function rpf_prevent_css_cache($src, $handle) {
if ( $handle == 'rpf-main' ) {
$src .= '?ver='.time();
}
eturn $src;
}
add_filter( 'style_loader_src', 'rpf_prevent_css_cache', 100, 2 );
Javascript版本。
function rpf_prevent_js_cache($src, $handle) {
if ( $handle == 'rpf-main' || $handle == 'rpf-functions' ) {
$src .= '?ver='.time();
}
return $src;
}
add_filter( 'script_loader_src', 'rpf_prevent_js_cache', 100, 2 );
如您所见,我只是通过使用过滤器将time()添加到文件引用版本。
rpf-main,rpf-functions是我的自定义句柄!