【问题标题】:Stylesheet parameter is blocking stylesheet changes样式表参数阻止样式表更改
【发布时间】:2014-06-25 13:49:39
【问题描述】:

在我购买的主题的 css 文件中进行编辑后,刷新页面后不会出现更改。在尝试了很多无效的技巧和方法后,我在我的页面代码中注意到以下内容:

<link rel='stylesheet' id='app-css'  href='http://www.mydomain.com/wp-content/themes/mytheme/assets/css/app.css?ver=3.9.1' type='text/css' media='all' />

据说 Wordpress 将“?ver=3.9.1”参数放在样式表 url 后面。使用参数检查 url 时,我可以看到旧样式表而无需更改。当我删除参数时,我可以看到正确的样式表以及我的更改。

如何让我的网站在没有该参数的情况下查询样式表 URL?我也不确定为什么 Wordpress 会这样做。

【问题讨论】:

  • 因为您是直接在主题中进行更改(而不是在子主题中),您可以继续,只需将您选择的版本号添加到 wp_register_style 或 wp_enqueue_style 函数调用中的参数加载该脚本。在你的主题文件(可能在functions.php)中搜索这些函数中的任何一个,然后寻找加载这个样式表的那个。

标签: css wordpress stylesheet


【解决方案1】:

这篇文章帮助了我:http://www.agentwp.com/remove-ver-parameter-wordpress-css-js-files

在我的functions.php文件中添加了以下内容:

 function vc_remove_wp_ver_css_js( $src ) {
 if ( strpos( $src, 'ver=' . get_bloginfo( 'version' ) ) ) 
 $src = remove_query_arg( 'ver', $src ); 
 return $src; 
 } 
 add_filter( 'style_loader_src', 'vc_remove_wp_ver_css_js', 9999 ); 
 add_filter( 'script_loader_src', 'vc_remove_wp_ver_css_js', 9999 );

【讨论】:

【解决方案2】:

看起来像一个缓存问题。

您使用的是 W3TC 插件吗?如果是这样,请单击管理顶部栏中的性能 > 清空所有缓存,然后刷新您的页面。

您也可以尝试在浏览器中打开样式表http://www.mydomain.com/wp-content/themes/mytheme/assets/css/app.css?ver=3.9.1,刷新此页面,然后再次打开您的网站。

【讨论】:

    【解决方案3】:

    这个答案在这里得到了很好的回答:http://www.impressivewebs.com/force-browser-newest-stylesheet/

    硬刷新/清除缓存会有所帮助,但对于您的最终用户(他们可能不会费心进行硬刷新),更新版本号是可行的方法。

    【讨论】:

    • 谢谢,我认为这是要走的路。可以在我网站上的哪个文件中更改此版本号?我检查了主题的functions.php,以及/wp-includes/theme.php(但在后者中我不确定到底在哪里,如何)。
    猜你喜欢
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    相关资源
    最近更新 更多