我希望浏览器在用户刷新时加载css/js
文件。
所以,我在wp_enqueue_script()
读到了Codex。
wp_enqueue_style( string $handle, string $src = '', array $deps = array(), string|bool|null $ver = false, string $media = 'all' )
如你所见,$ver
参数就在那里!
但是,它没有用。
这些都是我做的。
但浏览器加载my_style.css。是的,wp_enqueue_style()效果很好。
但是,浏览器只加载没有style.css
的?ver=~~
。
style.css
的?ver=~~
。为什么?
如果您可以使用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' );
你应该以正确的方式加载qss与wp_enqueue_style()
。例如,将此代码放在主题functions.php
文件中:
function addStyles() {
wp_enqueue_style( 'your-theme-name', get_template_directory_uri().'/style.css', array(), 'your-version');
}
add_action('wp_head', 'addStyles');
它有效:
好的,我找到了答案。而且我认为这对以后的某人有帮助。
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()添加到文件ref版本。
rpf-main,rpf-functions是我的自定义句柄!