Wordpress - GeneratePress theme - Cache busting(WordPress-GeneratePress主题-缓存崩溃)
问题描述
我正在维护一个使用GeneratePress主题的WordPress站点。为了扩展,使用了一个子主题解决方案。这已经是一个非常成熟的儿童主题(这么说是为了避免戏剧性的解决方案)。
有一段时间我每次更新css时都遇到css缓存问题。style.css子样式表提供缓存版本,而不是修改后的版本。
我认为GeneratePress主题正在加载父样式.css+子样式.css(如果存在)。
generatepress/functions.php
// Enqueue our CSS.
wp_enqueue_style( 'generate-style-grid', get_template_directory_uri() . "/css/unsemantic-grid{$suffix}.css", false, GENERATE_VERSION, 'all' );
wp_enqueue_style( 'generate-style', get_template_directory_uri() . '/style.css', array( 'generate-style-grid' ), GENERATE_VERSION, 'all' );
wp_enqueue_style( 'generate-mobile-style', get_template_directory_uri() . "/css/mobile{$suffix}.css", array( 'generate-style' ), GENERATE_VERSION, 'all' );
wp_add_inline_style( 'generate-style', generate_base_css() );
// Add the child theme CSS if child theme is active.
if ( is_child_theme() )
wp_enqueue_style( 'generate-child', get_stylesheet_uri(), true, filemtime( get_stylesheet_directory() . '/style.css' ), 'all' );
正在阅读这段代码...似乎如果检测子主题,它应该已经进行了缓存破坏,但是...对我来说,情况并非如此。我无法获得将文件时间结果作为版本参数的URL。
我的子主题函数.php没有将任何‘style le.css’入队。尽管如此,它还是被加载到父style.css之后。
尝试%1 我已经阅读了GeneratePresshttps://docs.generatepress.com/article/adding-css/中关于添加CSS的部分。
我看不到如何缓存bust子style.css文件。
尝试2 我解决此问题的第一次尝试是基于在触发wp_enQueue_脚本时将样式表入队。
function theme_css(){
wp_enqueue_style( 'my-theme-style', get_stylesheet_directory_uri().'/style.css', 'generate-style', '1.1', 'all');
}
add_action( 'wp_enqueue_scripts', 'theme_css' );
我之所以提到Generate-Style,是因为在我看来,它是要依赖的父级默认样式(子Style.css将在父Style.css之后加载)。您可以在前面的代码片段中看到这一点。它对我不起作用。子主题将先加载父主题样式表,然后再加载父主题样式表。这很不幸,会破坏css。顺序应该相反(父样式.css优先,子样式.css之后)。如前所述,依赖生成样式无济于事。
尝试3 使用另一个文件名创建样式表。GeneratePress会发出警告,因为如果检测到CHILD_THEME,则它需要一个style le.css样式表文件。我可以有一个子主题,其中包含一个空的style.css和新的样式表。问题是,将为返回的用户提供style.css缓存。
我是WordPress的新手,所以我不知道还有没有其他机制可以解决这个问题。也许有更简单的解决方案可以奏效?
推荐答案
如果您使用的是主题文档建议的here自动优化,那么您需要删除缓存,您的用户将看到更改。以下引用自该文档:
安装自动优化
减少每次加载页面时加载的CSS和JS文件的数量 将极大地提高您的页面速度。 AutOptimize的另一个好处是它将捆绑由 将定制器中的选项转换为外部文件,从而使您的 浏览器对其进行缓存。
要删除并重置自动优化缓存:登录wp-admin并转到插件/自动优化/设置以删除缓存,它将执行此操作并为您启动一个新的缓存。在wp-admin的顶部菜单栏中也有一个AutOptimize项;它对此也很方便。
这篇关于WordPress-GeneratePress主题-缓存崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:WordPress-GeneratePress主题-缓存崩溃
基础教程推荐
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 动态更新多个选择框 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 响应更改 div 大小保持纵横比 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01