使用“ver”url参数禁用wordpress缓存样式

时间:2016-02-18 17:24:28

标签: wordpress

在使用wp_enqueue_style在php中排队的每个链接之后,wordpress会自动插入?ver=和wordpress版本号。例如.../style.css?ver=4.4.2

在Chrome中,这有时几乎不可能刷新文件。

2 个答案:

答案 0 :(得分:2)

我通过在样式加载器钩子上添加一个过滤器来解决这个问题,该过滤器将版本号替换为当前时间值。是一种享受,但不能用于生产!

// TODO Remove this once put in a production environment
add_filter('style_loader_tag', 'development_disable_style_caching');
function development_disable_style_caching($tag){
  return str_replace(get_bloginfo('version'), time(), $tag);
}

答案 1 :(得分:1)

如果您要删除: 将以下内容添加到functions.php文件

// Remove WP Version From Styles    
add_filter( 'style_loader_src', 'sdt_remove_ver_css_js', 9999 );
// Remove WP Version From Scripts
add_filter( 'script_loader_src', 'sdt_remove_ver_css_js', 9999 );

// Function to remove version numbers
function sdt_remove_ver_css_js( $src ) {
    if ( strpos( $src, 'ver=' ) )
        $src = remove_query_arg( 'ver', $src );
    return $src;
}

适用于自定义版本 版本号是wp_enqueue_style()的参数。

根据Codex,以下是wp_enqueue_style接受的所有参数。

wp_enqueue_style( $handle, $src, $deps, $ver, $media );

例如,要加载带有版本号的样式表,您需要执行以下操作:

function wpa_90820() {
    wp_enqueue_style('my-styles', get_stylesheet_directory_uri() .'/my-styles.css', '', '1.0' );   

}    

add_action('wp_enqueue_scripts', 'wpa_90820');